#ifndef CUFFTDX_FFT_25_FP16_INV_PTX_HPP
#define CUFFTDX_FFT_25_FP16_INV_PTX_HPP



template<> __forceinline__ __device__ void cufftdx_private_function<1103, __half2, 1>(cufftdx::detail::complex<__half2> *rmem, unsigned smem){

asm volatile (R"({
.reg .b16 rs<149>;
.reg .b32 r<3427>;
.reg .f64 fd<109>;
.reg .b64 rd<3>;
mov.f64 fd107, 0d3FD3C6EF372FE950;
{
cvt.rn.f16.f64 rs1, fd107;
}
mov.b32 r210, {rs1, rs1};
mov.f64 fd108, 0dBFEE6F0E134454FF;
{
cvt.rn.f16.f64 rs2, fd108;
}
{
neg.f16 rs3, rs2;
}
mov.b32 r228, {rs3, rs3};
mov.f64 fd105, 0dBFE9E3779B97F4A8;
{
cvt.rn.f16.f64 rs5, fd105;
}
mov.b32 r282, {rs5, rs5};
mov.f64 fd106, 0dBFE2CF2304755A5E;
{
cvt.rn.f16.f64 rs6, fd106;
}
{
neg.f16 rs7, rs6;
}
mov.b32 r300, {rs7, rs7};
{
cvt.rn.f16.f64 rs9, fd107;
}
mov.b32 r291, {rs9, rs9};
{
cvt.rn.f16.f64 rs10, fd108;
}
mov.b32 r306, {rs10, rs10};
{
add.f16x2 r1, %51, %58;
}
{
add.f16x2 r4, %52, r1;
}
{
add.f16x2 r7, %54, %50;
}
{
add.f16x2 r10, r4, r7;
}
{
add.f16x2 r13, %56, %53;
}
{
add.f16x2 r16, %57, r13;
}
{
add.f16x2 r19, %59, %55;
}
{
add.f16x2 r22, r16, r19;
}
{
add.f16x2 r25, %51, %58;
}
{
mul.f16x2 r28, r25, r210;
}
{
add.f16x2 r31, %52, r28;
}
{
add.f16x2 r34, %54, %50;
}
{
mul.f16x2 r37, r34, r282;
}
{
add.f16x2 r40, r31, r37;
}
{
sub.f16x2 r43, %56, %53;
}
{
mul.f16x2 r46, r43, r228;
}
{
sub.f16x2 r49, %59, %55;
}
{
mul.f16x2 r52, r49, r300;
}
{
add.f16x2 r55, r46, r52;
}
{
sub.f16x2 r58, r40, r55;
}
{
add.f16x2 r61, %51, %58;
}
{
mul.f16x2 r64, r61, r210;
}
{
add.f16x2 r67, %52, r64;
}
{
add.f16x2 r70, %54, %50;
}
{
mul.f16x2 r73, r70, r282;
}
{
add.f16x2 r76, r67, r73;
}
{
sub.f16x2 r79, %56, %53;
}
{
mul.f16x2 r82, r79, r228;
}
{
sub.f16x2 r85, %59, %55;
}
{
mul.f16x2 r88, r85, r300;
}
{
add.f16x2 r91, r82, r88;
}
{
add.f16x2 r94, r76, r91;
}
{
add.f16x2 r97, %51, %58;
}
{
mul.f16x2 r100, r97, r282;
}
{
add.f16x2 r103, %52, r100;
}
{
add.f16x2 r106, %54, %50;
}
{
mul.f16x2 r109, r106, r291;
}
{
add.f16x2 r112, r103, r109;
}
{
sub.f16x2 r115, %56, %53;
}
{
mul.f16x2 r118, r115, r300;
}
{
sub.f16x2 r121, %59, %55;
}
{
mul.f16x2 r124, r121, r306;
}
{
add.f16x2 r127, r118, r124;
}
{
sub.f16x2 r130, r112, r127;
}
{
add.f16x2 r133, %51, %58;
}
{
mul.f16x2 r136, r133, r282;
}
{
add.f16x2 r139, %52, r136;
}
{
add.f16x2 r142, %54, %50;
}
{
mul.f16x2 r145, r142, r291;
}
{
add.f16x2 r148, r139, r145;
}
{
sub.f16x2 r151, %56, %53;
}
{
mul.f16x2 r154, r151, r300;
}
{
sub.f16x2 r157, %59, %55;
}
{
mul.f16x2 r160, r157, r306;
}
{
add.f16x2 r163, r154, r160;
}
{
add.f16x2 r166, r148, r163;
}
{
add.f16x2 r169, %56, %53;
}
{
mul.f16x2 r172, r169, r210;
}
{
add.f16x2 r175, %57, r172;
}
{
add.f16x2 r178, %59, %55;
}
{
mul.f16x2 r181, r178, r282;
}
{
add.f16x2 r184, r175, r181;
}
{
sub.f16x2 r187, %51, %58;
}
{
mul.f16x2 r190, r187, r228;
}
{
sub.f16x2 r193, %54, %50;
}
{
mul.f16x2 r196, r193, r300;
}
{
add.f16x2 r199, r190, r196;
}
{
add.f16x2 r202, r184, r199;
}
{
add.f16x2 r205, %56, %53;
}
{
mul.f16x2 r208, r205, r210;
}
{
add.f16x2 r211, %57, r208;
}
{
add.f16x2 r214, %59, %55;
}
{
mul.f16x2 r217, r214, r282;
}
{
add.f16x2 r220, r211, r217;
}
{
sub.f16x2 r223, %51, %58;
}
{
mul.f16x2 r226, r223, r228;
}
{
sub.f16x2 r229, %54, %50;
}
{
mul.f16x2 r232, r229, r300;
}
{
add.f16x2 r235, r226, r232;
}
{
sub.f16x2 r238, r220, r235;
}
{
add.f16x2 r241, %56, %53;
}
{
mul.f16x2 r244, r241, r282;
}
{
add.f16x2 r247, %57, r244;
}
{
add.f16x2 r250, %59, %55;
}
{
mul.f16x2 r253, r250, r291;
}
{
add.f16x2 r256, r247, r253;
}
{
sub.f16x2 r259, %51, %58;
}
{
mul.f16x2 r262, r259, r300;
}
{
sub.f16x2 r265, %54, %50;
}
{
mul.f16x2 r268, r265, r306;
}
{
add.f16x2 r271, r262, r268;
}
{
add.f16x2 r274, r256, r271;
}
{
add.f16x2 r277, %56, %53;
}
{
mul.f16x2 r280, r277, r282;
}
{
add.f16x2 r283, %57, r280;
}
{
add.f16x2 r286, %59, %55;
}
{
mul.f16x2 r289, r286, r291;
}
{
add.f16x2 r292, r283, r289;
}
{
sub.f16x2 r295, %51, %58;
}
{
mul.f16x2 r298, r295, r300;
}
{
sub.f16x2 r301, %54, %50;
}
{
mul.f16x2 r304, r301, r306;
}
{
add.f16x2 r307, r298, r304;
}
{
sub.f16x2 r310, r292, r307;
}
{
cvt.rn.f16.f64 rs11, fd107;
}
mov.b32 r522, {rs11, rs11};
{
cvt.rn.f16.f64 rs12, fd108;
}
{
neg.f16 rs13, rs12;
}
mov.b32 r540, {rs13, rs13};
{
cvt.rn.f16.f64 rs15, fd105;
}
mov.b32 r594, {rs15, rs15};
{
cvt.rn.f16.f64 rs16, fd106;
}
{
neg.f16 rs17, rs16;
}
mov.b32 r612, {rs17, rs17};
{
cvt.rn.f16.f64 rs19, fd107;
}
mov.b32 r603, {rs19, rs19};
{
cvt.rn.f16.f64 rs20, fd108;
}
mov.b32 r618, {rs20, rs20};
{
add.f16x2 r313, %62, %69;
}
{
add.f16x2 r316, %63, r313;
}
{
add.f16x2 r319, %65, %61;
}
{
add.f16x2 r322, r316, r319;
}
{
add.f16x2 r325, %67, %64;
}
{
add.f16x2 r328, %68, r325;
}
{
add.f16x2 r331, %60, %66;
}
{
add.f16x2 r334, r328, r331;
}
{
add.f16x2 r337, %62, %69;
}
{
mul.f16x2 r340, r337, r522;
}
{
add.f16x2 r343, %63, r340;
}
{
add.f16x2 r346, %65, %61;
}
{
mul.f16x2 r349, r346, r594;
}
{
add.f16x2 r352, r343, r349;
}
{
sub.f16x2 r355, %67, %64;
}
{
mul.f16x2 r358, r355, r540;
}
{
sub.f16x2 r361, %60, %66;
}
{
mul.f16x2 r364, r361, r612;
}
{
add.f16x2 r367, r358, r364;
}
{
sub.f16x2 r370, r352, r367;
}
{
add.f16x2 r373, %62, %69;
}
{
mul.f16x2 r376, r373, r522;
}
{
add.f16x2 r379, %63, r376;
}
{
add.f16x2 r382, %65, %61;
}
{
mul.f16x2 r385, r382, r594;
}
{
add.f16x2 r388, r379, r385;
}
{
sub.f16x2 r391, %67, %64;
}
{
mul.f16x2 r394, r391, r540;
}
{
sub.f16x2 r397, %60, %66;
}
{
mul.f16x2 r400, r397, r612;
}
{
add.f16x2 r403, r394, r400;
}
{
add.f16x2 r406, r388, r403;
}
{
add.f16x2 r409, %62, %69;
}
{
mul.f16x2 r412, r409, r594;
}
{
add.f16x2 r415, %63, r412;
}
{
add.f16x2 r418, %65, %61;
}
{
mul.f16x2 r421, r418, r603;
}
{
add.f16x2 r424, r415, r421;
}
{
sub.f16x2 r427, %67, %64;
}
{
mul.f16x2 r430, r427, r612;
}
{
sub.f16x2 r433, %60, %66;
}
{
mul.f16x2 r436, r433, r618;
}
{
add.f16x2 r439, r430, r436;
}
{
sub.f16x2 r442, r424, r439;
}
{
add.f16x2 r445, %62, %69;
}
{
mul.f16x2 r448, r445, r594;
}
{
add.f16x2 r451, %63, r448;
}
{
add.f16x2 r454, %65, %61;
}
{
mul.f16x2 r457, r454, r603;
}
{
add.f16x2 r460, r451, r457;
}
{
sub.f16x2 r463, %67, %64;
}
{
mul.f16x2 r466, r463, r612;
}
{
sub.f16x2 r469, %60, %66;
}
{
mul.f16x2 r472, r469, r618;
}
{
add.f16x2 r475, r466, r472;
}
{
add.f16x2 r478, r460, r475;
}
{
add.f16x2 r481, %67, %64;
}
{
mul.f16x2 r484, r481, r522;
}
{
add.f16x2 r487, %68, r484;
}
{
add.f16x2 r490, %60, %66;
}
{
mul.f16x2 r493, r490, r594;
}
{
add.f16x2 r496, r487, r493;
}
{
sub.f16x2 r499, %62, %69;
}
{
mul.f16x2 r502, r499, r540;
}
{
sub.f16x2 r505, %65, %61;
}
{
mul.f16x2 r508, r505, r612;
}
{
add.f16x2 r511, r502, r508;
}
{
add.f16x2 r514, r496, r511;
}
{
add.f16x2 r517, %67, %64;
}
{
mul.f16x2 r520, r517, r522;
}
{
add.f16x2 r523, %68, r520;
}
{
add.f16x2 r526, %60, %66;
}
{
mul.f16x2 r529, r526, r594;
}
{
add.f16x2 r532, r523, r529;
}
{
sub.f16x2 r535, %62, %69;
}
{
mul.f16x2 r538, r535, r540;
}
{
sub.f16x2 r541, %65, %61;
}
{
mul.f16x2 r544, r541, r612;
}
{
add.f16x2 r547, r538, r544;
}
{
sub.f16x2 r550, r532, r547;
}
{
add.f16x2 r553, %67, %64;
}
{
mul.f16x2 r556, r553, r594;
}
{
add.f16x2 r559, %68, r556;
}
{
add.f16x2 r562, %60, %66;
}
{
mul.f16x2 r565, r562, r603;
}
{
add.f16x2 r568, r559, r565;
}
{
sub.f16x2 r571, %62, %69;
}
{
mul.f16x2 r574, r571, r612;
}
{
sub.f16x2 r577, %65, %61;
}
{
mul.f16x2 r580, r577, r618;
}
{
add.f16x2 r583, r574, r580;
}
{
add.f16x2 r586, r568, r583;
}
{
add.f16x2 r589, %67, %64;
}
{
mul.f16x2 r592, r589, r594;
}
{
add.f16x2 r595, %68, r592;
}
{
add.f16x2 r598, %60, %66;
}
{
mul.f16x2 r601, r598, r603;
}
{
add.f16x2 r604, r595, r601;
}
{
sub.f16x2 r607, %62, %69;
}
{
mul.f16x2 r610, r607, r612;
}
{
sub.f16x2 r613, %65, %61;
}
{
mul.f16x2 r616, r613, r618;
}
{
add.f16x2 r619, r610, r616;
}
{
sub.f16x2 r622, r604, r619;
}
{
cvt.rn.f16.f64 rs21, fd107;
}
mov.b32 r834, {rs21, rs21};
{
cvt.rn.f16.f64 rs22, fd108;
}
{
neg.f16 rs23, rs22;
}
mov.b32 r852, {rs23, rs23};
{
cvt.rn.f16.f64 rs25, fd105;
}
mov.b32 r906, {rs25, rs25};
{
cvt.rn.f16.f64 rs26, fd106;
}
{
neg.f16 rs27, rs26;
}
mov.b32 r924, {rs27, rs27};
{
cvt.rn.f16.f64 rs29, fd107;
}
mov.b32 r915, {rs29, rs29};
{
cvt.rn.f16.f64 rs30, fd108;
}
mov.b32 r930, {rs30, rs30};
{
add.f16x2 r625, %73, %71;
}
{
add.f16x2 r628, %75, r625;
}
{
add.f16x2 r631, %77, %74;
}
{
add.f16x2 r634, r628, r631;
}
{
add.f16x2 r637, %79, %76;
}
{
add.f16x2 r640, %70, r637;
}
{
add.f16x2 r643, %72, %78;
}
{
add.f16x2 r646, r640, r643;
}
{
add.f16x2 r649, %73, %71;
}
{
mul.f16x2 r652, r649, r834;
}
{
add.f16x2 r655, %75, r652;
}
{
add.f16x2 r658, %77, %74;
}
{
mul.f16x2 r661, r658, r906;
}
{
add.f16x2 r664, r655, r661;
}
{
sub.f16x2 r667, %79, %76;
}
{
mul.f16x2 r670, r667, r852;
}
{
sub.f16x2 r673, %72, %78;
}
{
mul.f16x2 r676, r673, r924;
}
{
add.f16x2 r679, r670, r676;
}
{
sub.f16x2 r682, r664, r679;
}
{
add.f16x2 r685, %73, %71;
}
{
mul.f16x2 r688, r685, r834;
}
{
add.f16x2 r691, %75, r688;
}
{
add.f16x2 r694, %77, %74;
}
{
mul.f16x2 r697, r694, r906;
}
{
add.f16x2 r700, r691, r697;
}
{
sub.f16x2 r703, %79, %76;
}
{
mul.f16x2 r706, r703, r852;
}
{
sub.f16x2 r709, %72, %78;
}
{
mul.f16x2 r712, r709, r924;
}
{
add.f16x2 r715, r706, r712;
}
{
add.f16x2 r718, r700, r715;
}
{
add.f16x2 r721, %73, %71;
}
{
mul.f16x2 r724, r721, r906;
}
{
add.f16x2 r727, %75, r724;
}
{
add.f16x2 r730, %77, %74;
}
{
mul.f16x2 r733, r730, r915;
}
{
add.f16x2 r736, r727, r733;
}
{
sub.f16x2 r739, %79, %76;
}
{
mul.f16x2 r742, r739, r924;
}
{
sub.f16x2 r745, %72, %78;
}
{
mul.f16x2 r748, r745, r930;
}
{
add.f16x2 r751, r742, r748;
}
{
sub.f16x2 r754, r736, r751;
}
{
add.f16x2 r757, %73, %71;
}
{
mul.f16x2 r760, r757, r906;
}
{
add.f16x2 r763, %75, r760;
}
{
add.f16x2 r766, %77, %74;
}
{
mul.f16x2 r769, r766, r915;
}
{
add.f16x2 r772, r763, r769;
}
{
sub.f16x2 r775, %79, %76;
}
{
mul.f16x2 r778, r775, r924;
}
{
sub.f16x2 r781, %72, %78;
}
{
mul.f16x2 r784, r781, r930;
}
{
add.f16x2 r787, r778, r784;
}
{
add.f16x2 r790, r772, r787;
}
{
add.f16x2 r793, %79, %76;
}
{
mul.f16x2 r796, r793, r834;
}
{
add.f16x2 r799, %70, r796;
}
{
add.f16x2 r802, %72, %78;
}
{
mul.f16x2 r805, r802, r906;
}
{
add.f16x2 r808, r799, r805;
}
{
sub.f16x2 r811, %73, %71;
}
{
mul.f16x2 r814, r811, r852;
}
{
sub.f16x2 r817, %77, %74;
}
{
mul.f16x2 r820, r817, r924;
}
{
add.f16x2 r823, r814, r820;
}
{
add.f16x2 r826, r808, r823;
}
{
add.f16x2 r829, %79, %76;
}
{
mul.f16x2 r832, r829, r834;
}
{
add.f16x2 r835, %70, r832;
}
{
add.f16x2 r838, %72, %78;
}
{
mul.f16x2 r841, r838, r906;
}
{
add.f16x2 r844, r835, r841;
}
{
sub.f16x2 r847, %73, %71;
}
{
mul.f16x2 r850, r847, r852;
}
{
sub.f16x2 r853, %77, %74;
}
{
mul.f16x2 r856, r853, r924;
}
{
add.f16x2 r859, r850, r856;
}
{
sub.f16x2 r862, r844, r859;
}
{
add.f16x2 r865, %79, %76;
}
{
mul.f16x2 r868, r865, r906;
}
{
add.f16x2 r871, %70, r868;
}
{
add.f16x2 r874, %72, %78;
}
{
mul.f16x2 r877, r874, r915;
}
{
add.f16x2 r880, r871, r877;
}
{
sub.f16x2 r883, %73, %71;
}
{
mul.f16x2 r886, r883, r924;
}
{
sub.f16x2 r889, %77, %74;
}
{
mul.f16x2 r892, r889, r930;
}
{
add.f16x2 r895, r886, r892;
}
{
add.f16x2 r898, r880, r895;
}
{
add.f16x2 r901, %79, %76;
}
{
mul.f16x2 r904, r901, r906;
}
{
add.f16x2 r907, %70, r904;
}
{
add.f16x2 r910, %72, %78;
}
{
mul.f16x2 r913, r910, r915;
}
{
add.f16x2 r916, r907, r913;
}
{
sub.f16x2 r919, %73, %71;
}
{
mul.f16x2 r922, r919, r924;
}
{
sub.f16x2 r925, %77, %74;
}
{
mul.f16x2 r928, r925, r930;
}
{
add.f16x2 r931, r922, r928;
}
{
sub.f16x2 r934, r916, r931;
}
{
cvt.rn.f16.f64 rs31, fd107;
}
mov.b32 r1146, {rs31, rs31};
{
cvt.rn.f16.f64 rs32, fd108;
}
{
neg.f16 rs33, rs32;
}
mov.b32 r1164, {rs33, rs33};
{
cvt.rn.f16.f64 rs35, fd105;
}
mov.b32 r1218, {rs35, rs35};
{
cvt.rn.f16.f64 rs36, fd106;
}
{
neg.f16 rs37, rs36;
}
mov.b32 r1236, {rs37, rs37};
{
cvt.rn.f16.f64 rs39, fd107;
}
mov.b32 r1227, {rs39, rs39};
{
cvt.rn.f16.f64 rs40, fd108;
}
mov.b32 r1242, {rs40, rs40};
{
add.f16x2 r937, %85, %83;
}
{
add.f16x2 r940, %87, r937;
}
{
add.f16x2 r943, %89, %86;
}
{
add.f16x2 r946, r940, r943;
}
{
add.f16x2 r949, %81, %88;
}
{
add.f16x2 r952, %82, r949;
}
{
add.f16x2 r955, %84, %80;
}
{
add.f16x2 r958, r952, r955;
}
{
add.f16x2 r961, %85, %83;
}
{
mul.f16x2 r964, r961, r1146;
}
{
add.f16x2 r967, %87, r964;
}
{
add.f16x2 r970, %89, %86;
}
{
mul.f16x2 r973, r970, r1218;
}
{
add.f16x2 r976, r967, r973;
}
{
sub.f16x2 r979, %81, %88;
}
{
mul.f16x2 r982, r979, r1164;
}
{
sub.f16x2 r985, %84, %80;
}
{
mul.f16x2 r988, r985, r1236;
}
{
add.f16x2 r991, r982, r988;
}
{
sub.f16x2 r994, r976, r991;
}
{
add.f16x2 r997, %85, %83;
}
{
mul.f16x2 r1000, r997, r1146;
}
{
add.f16x2 r1003, %87, r1000;
}
{
add.f16x2 r1006, %89, %86;
}
{
mul.f16x2 r1009, r1006, r1218;
}
{
add.f16x2 r1012, r1003, r1009;
}
{
sub.f16x2 r1015, %81, %88;
}
{
mul.f16x2 r1018, r1015, r1164;
}
{
sub.f16x2 r1021, %84, %80;
}
{
mul.f16x2 r1024, r1021, r1236;
}
{
add.f16x2 r1027, r1018, r1024;
}
{
add.f16x2 r1030, r1012, r1027;
}
{
add.f16x2 r1033, %85, %83;
}
{
mul.f16x2 r1036, r1033, r1218;
}
{
add.f16x2 r1039, %87, r1036;
}
{
add.f16x2 r1042, %89, %86;
}
{
mul.f16x2 r1045, r1042, r1227;
}
{
add.f16x2 r1048, r1039, r1045;
}
{
sub.f16x2 r1051, %81, %88;
}
{
mul.f16x2 r1054, r1051, r1236;
}
{
sub.f16x2 r1057, %84, %80;
}
{
mul.f16x2 r1060, r1057, r1242;
}
{
add.f16x2 r1063, r1054, r1060;
}
{
sub.f16x2 r1066, r1048, r1063;
}
{
add.f16x2 r1069, %85, %83;
}
{
mul.f16x2 r1072, r1069, r1218;
}
{
add.f16x2 r1075, %87, r1072;
}
{
add.f16x2 r1078, %89, %86;
}
{
mul.f16x2 r1081, r1078, r1227;
}
{
add.f16x2 r1084, r1075, r1081;
}
{
sub.f16x2 r1087, %81, %88;
}
{
mul.f16x2 r1090, r1087, r1236;
}
{
sub.f16x2 r1093, %84, %80;
}
{
mul.f16x2 r1096, r1093, r1242;
}
{
add.f16x2 r1099, r1090, r1096;
}
{
add.f16x2 r1102, r1084, r1099;
}
{
add.f16x2 r1105, %81, %88;
}
{
mul.f16x2 r1108, r1105, r1146;
}
{
add.f16x2 r1111, %82, r1108;
}
{
add.f16x2 r1114, %84, %80;
}
{
mul.f16x2 r1117, r1114, r1218;
}
{
add.f16x2 r1120, r1111, r1117;
}
{
sub.f16x2 r1123, %85, %83;
}
{
mul.f16x2 r1126, r1123, r1164;
}
{
sub.f16x2 r1129, %89, %86;
}
{
mul.f16x2 r1132, r1129, r1236;
}
{
add.f16x2 r1135, r1126, r1132;
}
{
add.f16x2 r1138, r1120, r1135;
}
{
add.f16x2 r1141, %81, %88;
}
{
mul.f16x2 r1144, r1141, r1146;
}
{
add.f16x2 r1147, %82, r1144;
}
{
add.f16x2 r1150, %84, %80;
}
{
mul.f16x2 r1153, r1150, r1218;
}
{
add.f16x2 r1156, r1147, r1153;
}
{
sub.f16x2 r1159, %85, %83;
}
{
mul.f16x2 r1162, r1159, r1164;
}
{
sub.f16x2 r1165, %89, %86;
}
{
mul.f16x2 r1168, r1165, r1236;
}
{
add.f16x2 r1171, r1162, r1168;
}
{
sub.f16x2 r1174, r1156, r1171;
}
{
add.f16x2 r1177, %81, %88;
}
{
mul.f16x2 r1180, r1177, r1218;
}
{
add.f16x2 r1183, %82, r1180;
}
{
add.f16x2 r1186, %84, %80;
}
{
mul.f16x2 r1189, r1186, r1227;
}
{
add.f16x2 r1192, r1183, r1189;
}
{
sub.f16x2 r1195, %85, %83;
}
{
mul.f16x2 r1198, r1195, r1236;
}
{
sub.f16x2 r1201, %89, %86;
}
{
mul.f16x2 r1204, r1201, r1242;
}
{
add.f16x2 r1207, r1198, r1204;
}
{
add.f16x2 r1210, r1192, r1207;
}
{
add.f16x2 r1213, %81, %88;
}
{
mul.f16x2 r1216, r1213, r1218;
}
{
add.f16x2 r1219, %82, r1216;
}
{
add.f16x2 r1222, %84, %80;
}
{
mul.f16x2 r1225, r1222, r1227;
}
{
add.f16x2 r1228, r1219, r1225;
}
{
sub.f16x2 r1231, %85, %83;
}
{
mul.f16x2 r1234, r1231, r1236;
}
{
sub.f16x2 r1237, %89, %86;
}
{
mul.f16x2 r1240, r1237, r1242;
}
{
add.f16x2 r1243, r1234, r1240;
}
{
sub.f16x2 r1246, r1228, r1243;
}
{
cvt.rn.f16.f64 rs41, fd107;
}
mov.b32 r1458, {rs41, rs41};
{
cvt.rn.f16.f64 rs42, fd108;
}
{
neg.f16 rs43, rs42;
}
mov.b32 r1476, {rs43, rs43};
{
cvt.rn.f16.f64 rs45, fd105;
}
mov.b32 r1530, {rs45, rs45};
{
cvt.rn.f16.f64 rs46, fd106;
}
{
neg.f16 rs47, rs46;
}
mov.b32 r1548, {rs47, rs47};
{
cvt.rn.f16.f64 rs49, fd107;
}
mov.b32 r1539, {rs49, rs49};
{
cvt.rn.f16.f64 rs50, fd108;
}
mov.b32 r1554, {rs50, rs50};
{
add.f16x2 r1249, %97, %95;
}
{
add.f16x2 r1252, %99, r1249;
}
{
add.f16x2 r1255, %91, %98;
}
{
add.f16x2 r1258, r1252, r1255;
}
{
add.f16x2 r1261, %93, %90;
}
{
add.f16x2 r1264, %94, r1261;
}
{
add.f16x2 r1267, %96, %92;
}
{
add.f16x2 r1270, r1264, r1267;
}
{
add.f16x2 r1273, %97, %95;
}
{
mul.f16x2 r1276, r1273, r1458;
}
{
add.f16x2 r1279, %99, r1276;
}
{
add.f16x2 r1282, %91, %98;
}
{
mul.f16x2 r1285, r1282, r1530;
}
{
add.f16x2 r1288, r1279, r1285;
}
{
sub.f16x2 r1291, %93, %90;
}
{
mul.f16x2 r1294, r1291, r1476;
}
{
sub.f16x2 r1297, %96, %92;
}
{
mul.f16x2 r1300, r1297, r1548;
}
{
add.f16x2 r1303, r1294, r1300;
}
{
sub.f16x2 r1306, r1288, r1303;
}
{
add.f16x2 r1309, %97, %95;
}
{
mul.f16x2 r1312, r1309, r1458;
}
{
add.f16x2 r1315, %99, r1312;
}
{
add.f16x2 r1318, %91, %98;
}
{
mul.f16x2 r1321, r1318, r1530;
}
{
add.f16x2 r1324, r1315, r1321;
}
{
sub.f16x2 r1327, %93, %90;
}
{
mul.f16x2 r1330, r1327, r1476;
}
{
sub.f16x2 r1333, %96, %92;
}
{
mul.f16x2 r1336, r1333, r1548;
}
{
add.f16x2 r1339, r1330, r1336;
}
{
add.f16x2 r1342, r1324, r1339;
}
{
add.f16x2 r1345, %97, %95;
}
{
mul.f16x2 r1348, r1345, r1530;
}
{
add.f16x2 r1351, %99, r1348;
}
{
add.f16x2 r1354, %91, %98;
}
{
mul.f16x2 r1357, r1354, r1539;
}
{
add.f16x2 r1360, r1351, r1357;
}
{
sub.f16x2 r1363, %93, %90;
}
{
mul.f16x2 r1366, r1363, r1548;
}
{
sub.f16x2 r1369, %96, %92;
}
{
mul.f16x2 r1372, r1369, r1554;
}
{
add.f16x2 r1375, r1366, r1372;
}
{
sub.f16x2 r1378, r1360, r1375;
}
{
add.f16x2 r1381, %97, %95;
}
{
mul.f16x2 r1384, r1381, r1530;
}
{
add.f16x2 r1387, %99, r1384;
}
{
add.f16x2 r1390, %91, %98;
}
{
mul.f16x2 r1393, r1390, r1539;
}
{
add.f16x2 r1396, r1387, r1393;
}
{
sub.f16x2 r1399, %93, %90;
}
{
mul.f16x2 r1402, r1399, r1548;
}
{
sub.f16x2 r1405, %96, %92;
}
{
mul.f16x2 r1408, r1405, r1554;
}
{
add.f16x2 r1411, r1402, r1408;
}
{
add.f16x2 r1414, r1396, r1411;
}
{
add.f16x2 r1417, %93, %90;
}
{
mul.f16x2 r1420, r1417, r1458;
}
{
add.f16x2 r1423, %94, r1420;
}
{
add.f16x2 r1426, %96, %92;
}
{
mul.f16x2 r1429, r1426, r1530;
}
{
add.f16x2 r1432, r1423, r1429;
}
{
sub.f16x2 r1435, %97, %95;
}
{
mul.f16x2 r1438, r1435, r1476;
}
{
sub.f16x2 r1441, %91, %98;
}
{
mul.f16x2 r1444, r1441, r1548;
}
{
add.f16x2 r1447, r1438, r1444;
}
{
add.f16x2 r1450, r1432, r1447;
}
{
add.f16x2 r1453, %93, %90;
}
{
mul.f16x2 r1456, r1453, r1458;
}
{
add.f16x2 r1459, %94, r1456;
}
{
add.f16x2 r1462, %96, %92;
}
{
mul.f16x2 r1465, r1462, r1530;
}
{
add.f16x2 r1468, r1459, r1465;
}
{
sub.f16x2 r1471, %97, %95;
}
{
mul.f16x2 r1474, r1471, r1476;
}
{
sub.f16x2 r1477, %91, %98;
}
{
mul.f16x2 r1480, r1477, r1548;
}
{
add.f16x2 r1483, r1474, r1480;
}
{
sub.f16x2 r1486, r1468, r1483;
}
{
add.f16x2 r1489, %93, %90;
}
{
mul.f16x2 r1492, r1489, r1530;
}
{
add.f16x2 r1495, %94, r1492;
}
{
add.f16x2 r1498, %96, %92;
}
{
mul.f16x2 r1501, r1498, r1539;
}
{
add.f16x2 r1504, r1495, r1501;
}
{
sub.f16x2 r1507, %97, %95;
}
{
mul.f16x2 r1510, r1507, r1548;
}
{
sub.f16x2 r1513, %91, %98;
}
{
mul.f16x2 r1516, r1513, r1554;
}
{
add.f16x2 r1519, r1510, r1516;
}
{
add.f16x2 r1522, r1504, r1519;
}
{
add.f16x2 r1525, %93, %90;
}
{
mul.f16x2 r1528, r1525, r1530;
}
{
add.f16x2 r1531, %94, r1528;
}
{
add.f16x2 r1534, %96, %92;
}
{
mul.f16x2 r1537, r1534, r1539;
}
{
add.f16x2 r1540, r1531, r1537;
}
{
sub.f16x2 r1543, %97, %95;
}
{
mul.f16x2 r1546, r1543, r1548;
}
{
sub.f16x2 r1549, %91, %98;
}
{
mul.f16x2 r1552, r1549, r1554;
}
{
add.f16x2 r1555, r1546, r1552;
}
{
sub.f16x2 r1558, r1540, r1555;
}
mov.f64 fd31, 0d3FEEFEA21D101EE0;
{
cvt.rn.f16.f64 rs51, fd31;
}
mov.f64 fd32, 0d3FCFD511FA1C0796;
{
cvt.rn.f16.f64 rs52, fd32;
}
mov.f64 fd33, 0d3FEC0AB44E81C059;
{
cvt.rn.f16.f64 rs53, fd33;
}
mov.f64 fd34, 0d3FDED50D5CBFA951;
{
cvt.rn.f16.f64 rs54, fd34;
}
mov.f64 fd35, 0d3FE753B603D2B816;
{
cvt.rn.f16.f64 rs55, fd35;
}
mov.f64 fd36, 0d3FE5E7CF55112014;
{
cvt.rn.f16.f64 rs56, fd36;
}
mov.f64 fd37, 0d3FE1257E3C182B51;
{
cvt.rn.f16.f64 rs57, fd37;
}
mov.f64 fd38, 0d3FEB04BBFF642E86;
{
cvt.rn.f16.f64 rs58, fd38;
}
mov.f64 fd41, 0d3FB0130A1BE09379;
{
cvt.rn.f16.f64 rs61, fd41;
}
mov.f64 fd42, 0d3FEFEFD5BFE443FE;
{
cvt.rn.f16.f64 rs62, fd42;
}
mov.f64 fd45, 0dBFDB3FF7C925819C;
{
cvt.rn.f16.f64 rs65, fd45;
}
mov.f64 fd46, 0d3FECF457DCDC158C;
{
cvt.rn.f16.f64 rs66, fd46;
}
mov.f64 fd61, 0dBFE465C6FEB501BC;
{
cvt.rn.f16.f64 rs67, fd61;
}
mov.f64 fd48, 0d3FE8A80B635B6BEA;
{
cvt.rn.f16.f64 rs68, fd48;
}
mov.f64 fd53, 0dBFEFBF675480D903;
{
cvt.rn.f16.f64 rs73, fd53;
}
mov.f64 fd54, 0d3FC00AEB5DA15BE0;
{
cvt.rn.f16.f64 rs74, fd54;
}
{
cvt.rn.f16.f64 rs81, fd61;
}
mov.f64 fd62, 0dBFE8A80B635B6BEA;
{
cvt.rn.f16.f64 rs82, fd62;
}
mov.b32 r1575, {rs51, rs51};
{
mul.f16x2 r1561, r370, r1575;
}
mov.b32 r1572, {rs52, rs52};
{
mul.f16x2 r1564, r514, r1572;
}
{
sub.f16x2 r1567, r1561, r1564;
}
{
mul.f16x2 r1570, r370, r1572;
}
{
fma.rn.f16x2 r1573, r514, r1575, r1570;
}
mov.b32 r1639, {rs53, rs53};
{
mul.f16x2 r1577, r682, r1639;
}
mov.b32 r1636, {rs54, rs54};
{
mul.f16x2 r1580, r826, r1636;
}
{
sub.f16x2 r1583, r1577, r1580;
}
{
mul.f16x2 r1586, r682, r1636;
}
{
fma.rn.f16x2 r1589, r826, r1639, r1586;
}
mov.b32 r1703, {rs55, rs55};
{
mul.f16x2 r1593, r994, r1703;
}
mov.b32 r1700, {rs56, rs56};
{
mul.f16x2 r1596, r1138, r1700;
}
{
sub.f16x2 r1599, r1593, r1596;
}
{
mul.f16x2 r1602, r994, r1700;
}
{
fma.rn.f16x2 r1605, r1138, r1703, r1602;
}
mov.b32 r1767, {rs57, rs57};
{
mul.f16x2 r1609, r1306, r1767;
}
mov.b32 r1764, {rs58, rs58};
{
mul.f16x2 r1612, r1450, r1764;
}
{
sub.f16x2 r1615, r1609, r1612;
}
{
mul.f16x2 r1618, r1306, r1764;
}
{
fma.rn.f16x2 r1621, r1450, r1767, r1618;
}
{
mul.f16x2 r1625, r442, r1639;
}
{
mul.f16x2 r1628, r586, r1636;
}
{
sub.f16x2 r1631, r1625, r1628;
}
{
mul.f16x2 r1634, r442, r1636;
}
{
fma.rn.f16x2 r1637, r586, r1639, r1634;
}
{
mul.f16x2 r1641, r754, r1767;
}
{
mul.f16x2 r1644, r898, r1764;
}
{
sub.f16x2 r1647, r1641, r1644;
}
{
mul.f16x2 r1650, r754, r1764;
}
{
fma.rn.f16x2 r1653, r898, r1767, r1650;
}
mov.b32 r1719, {rs61, rs61};
{
mul.f16x2 r1657, r1066, r1719;
}
mov.b32 r1716, {rs62, rs62};
{
mul.f16x2 r1660, r1210, r1716;
}
{
sub.f16x2 r1663, r1657, r1660;
}
{
mul.f16x2 r1666, r1066, r1716;
}
{
fma.rn.f16x2 r1669, r1210, r1719, r1666;
}
mov.b32 r1783, {rs65, rs65};
{
mul.f16x2 r1673, r1378, r1783;
}
mov.b32 r1780, {rs66, rs66};
{
mul.f16x2 r1676, r1522, r1780;
}
{
sub.f16x2 r1679, r1673, r1676;
}
{
mul.f16x2 r1682, r1378, r1780;
}
{
fma.rn.f16x2 r1685, r1522, r1783, r1682;
}
{
mul.f16x2 r1689, r478, r1703;
}
{
mul.f16x2 r1692, r622, r1700;
}
{
sub.f16x2 r1695, r1689, r1692;
}
{
mul.f16x2 r1698, r478, r1700;
}
{
fma.rn.f16x2 r1701, r622, r1703, r1698;
}
{
mul.f16x2 r1705, r790, r1719;
}
{
mul.f16x2 r1708, r934, r1716;
}
{
sub.f16x2 r1711, r1705, r1708;
}
{
mul.f16x2 r1714, r790, r1716;
}
{
fma.rn.f16x2 r1717, r934, r1719, r1714;
}
mov.b32 r1735, {rs67, rs67};
{
mul.f16x2 r1721, r1102, r1735;
}
mov.b32 r1732, {rs68, rs68};
{
mul.f16x2 r1724, r1246, r1732;
}
{
sub.f16x2 r1727, r1721, r1724;
}
{
mul.f16x2 r1730, r1102, r1732;
}
{
fma.rn.f16x2 r1733, r1246, r1735, r1730;
}
mov.b32 r1799, {rs73, rs73};
{
mul.f16x2 r1737, r1414, r1799;
}
mov.b32 r1796, {rs74, rs74};
{
mul.f16x2 r1740, r1558, r1796;
}
{
sub.f16x2 r1743, r1737, r1740;
}
{
mul.f16x2 r1746, r1414, r1796;
}
{
fma.rn.f16x2 r1749, r1558, r1799, r1746;
}
{
mul.f16x2 r1753, r406, r1767;
}
{
mul.f16x2 r1756, r550, r1764;
}
{
sub.f16x2 r1759, r1753, r1756;
}
{
mul.f16x2 r1762, r406, r1764;
}
{
fma.rn.f16x2 r1765, r550, r1767, r1762;
}
{
mul.f16x2 r1769, r718, r1783;
}
{
mul.f16x2 r1772, r862, r1780;
}
{
sub.f16x2 r1775, r1769, r1772;
}
{
mul.f16x2 r1778, r718, r1780;
}
{
fma.rn.f16x2 r1781, r862, r1783, r1778;
}
{
mul.f16x2 r1785, r1030, r1799;
}
{
mul.f16x2 r1788, r1174, r1796;
}
{
sub.f16x2 r1791, r1785, r1788;
}
{
mul.f16x2 r1794, r1030, r1796;
}
{
fma.rn.f16x2 r1797, r1174, r1799, r1794;
}
mov.b32 r1815, {rs81, rs81};
{
mul.f16x2 r1801, r1342, r1815;
}
mov.b32 r1812, {rs82, rs82};
{
mul.f16x2 r1804, r1486, r1812;
}
{
sub.f16x2 r1807, r1801, r1804;
}
{
mul.f16x2 r1810, r1342, r1812;
}
{
fma.rn.f16x2 r1813, r1486, r1815, r1810;
}
{
cvt.rn.f16.f64 rs99, fd107;
}
mov.b32 r2026, {rs99, rs99};
{
cvt.rn.f16.f64 rs100, fd108;
}
{
neg.f16 rs101, rs100;
}
mov.b32 r2044, {rs101, rs101};
{
cvt.rn.f16.f64 rs103, fd105;
}
mov.b32 r2098, {rs103, rs103};
{
cvt.rn.f16.f64 rs104, fd106;
}
{
neg.f16 rs105, rs104;
}
mov.b32 r2116, {rs105, rs105};
{
cvt.rn.f16.f64 rs107, fd107;
}
mov.b32 r2107, {rs107, rs107};
{
cvt.rn.f16.f64 rs108, fd108;
}
mov.b32 r2122, {rs108, rs108};
{
add.f16x2 r1817, r322, r1258;
}
{
add.f16x2 r1820, r10, r1817;
}
{
add.f16x2 r1823, r634, r946;
}
{
add.f16x2 %0, r1820, r1823;
}
{
add.f16x2 r1829, r334, r1270;
}
{
add.f16x2 r1832, r22, r1829;
}
{
add.f16x2 r1835, r646, r958;
}
{
add.f16x2 %1, r1832, r1835;
}
{
add.f16x2 r1841, r322, r1258;
}
{
mul.f16x2 r1844, r1841, r2026;
}
{
add.f16x2 r1847, r10, r1844;
}
{
add.f16x2 r1850, r634, r946;
}
{
mul.f16x2 r1853, r1850, r2098;
}
{
add.f16x2 r1856, r1847, r1853;
}
{
sub.f16x2 r1859, r334, r1270;
}
{
mul.f16x2 r1862, r1859, r2044;
}
{
sub.f16x2 r1865, r646, r958;
}
{
mul.f16x2 r1868, r1865, r2116;
}
{
add.f16x2 r1871, r1862, r1868;
}
{
sub.f16x2 %10, r1856, r1871;
}
{
add.f16x2 r1877, r322, r1258;
}
{
mul.f16x2 r1880, r1877, r2026;
}
{
add.f16x2 r1883, r10, r1880;
}
{
add.f16x2 r1886, r634, r946;
}
{
mul.f16x2 r1889, r1886, r2098;
}
{
add.f16x2 r1892, r1883, r1889;
}
{
sub.f16x2 r1895, r334, r1270;
}
{
mul.f16x2 r1898, r1895, r2044;
}
{
sub.f16x2 r1901, r646, r958;
}
{
mul.f16x2 r1904, r1901, r2116;
}
{
add.f16x2 r1907, r1898, r1904;
}
{
add.f16x2 %40, r1892, r1907;
}
{
add.f16x2 r1913, r322, r1258;
}
{
mul.f16x2 r1916, r1913, r2098;
}
{
add.f16x2 r1919, r10, r1916;
}
{
add.f16x2 r1922, r634, r946;
}
{
mul.f16x2 r1925, r1922, r2107;
}
{
add.f16x2 r1928, r1919, r1925;
}
{
sub.f16x2 r1931, r334, r1270;
}
{
mul.f16x2 r1934, r1931, r2116;
}
{
sub.f16x2 r1937, r646, r958;
}
{
mul.f16x2 r1940, r1937, r2122;
}
{
add.f16x2 r1943, r1934, r1940;
}
{
sub.f16x2 %20, r1928, r1943;
}
{
add.f16x2 r1949, r322, r1258;
}
{
mul.f16x2 r1952, r1949, r2098;
}
{
add.f16x2 r1955, r10, r1952;
}
{
add.f16x2 r1958, r634, r946;
}
{
mul.f16x2 r1961, r1958, r2107;
}
{
add.f16x2 r1964, r1955, r1961;
}
{
sub.f16x2 r1967, r334, r1270;
}
{
mul.f16x2 r1970, r1967, r2116;
}
{
sub.f16x2 r1973, r646, r958;
}
{
mul.f16x2 r1976, r1973, r2122;
}
{
add.f16x2 r1979, r1970, r1976;
}
{
add.f16x2 %30, r1964, r1979;
}
{
add.f16x2 r1985, r334, r1270;
}
{
mul.f16x2 r1988, r1985, r2026;
}
{
add.f16x2 r1991, r22, r1988;
}
{
add.f16x2 r1994, r646, r958;
}
{
mul.f16x2 r1997, r1994, r2098;
}
{
add.f16x2 r2000, r1991, r1997;
}
{
sub.f16x2 r2003, r322, r1258;
}
{
mul.f16x2 r2006, r2003, r2044;
}
{
sub.f16x2 r2009, r634, r946;
}
{
mul.f16x2 r2012, r2009, r2116;
}
{
add.f16x2 r2015, r2006, r2012;
}
{
add.f16x2 %11, r2000, r2015;
}
{
add.f16x2 r2021, r334, r1270;
}
{
mul.f16x2 r2024, r2021, r2026;
}
{
add.f16x2 r2027, r22, r2024;
}
{
add.f16x2 r2030, r646, r958;
}
{
mul.f16x2 r2033, r2030, r2098;
}
{
add.f16x2 r2036, r2027, r2033;
}
{
sub.f16x2 r2039, r322, r1258;
}
{
mul.f16x2 r2042, r2039, r2044;
}
{
sub.f16x2 r2045, r634, r946;
}
{
mul.f16x2 r2048, r2045, r2116;
}
{
add.f16x2 r2051, r2042, r2048;
}
{
sub.f16x2 %41, r2036, r2051;
}
{
add.f16x2 r2057, r334, r1270;
}
{
mul.f16x2 r2060, r2057, r2098;
}
{
add.f16x2 r2063, r22, r2060;
}
{
add.f16x2 r2066, r646, r958;
}
{
mul.f16x2 r2069, r2066, r2107;
}
{
add.f16x2 r2072, r2063, r2069;
}
{
sub.f16x2 r2075, r322, r1258;
}
{
mul.f16x2 r2078, r2075, r2116;
}
{
sub.f16x2 r2081, r634, r946;
}
{
mul.f16x2 r2084, r2081, r2122;
}
{
add.f16x2 r2087, r2078, r2084;
}
{
add.f16x2 %21, r2072, r2087;
}
{
add.f16x2 r2093, r334, r1270;
}
{
mul.f16x2 r2096, r2093, r2098;
}
{
add.f16x2 r2099, r22, r2096;
}
{
add.f16x2 r2102, r646, r958;
}
{
mul.f16x2 r2105, r2102, r2107;
}
{
add.f16x2 r2108, r2099, r2105;
}
{
sub.f16x2 r2111, r322, r1258;
}
{
mul.f16x2 r2114, r2111, r2116;
}
{
sub.f16x2 r2117, r634, r946;
}
{
mul.f16x2 r2120, r2117, r2122;
}
{
add.f16x2 r2123, r2114, r2120;
}
{
sub.f16x2 %31, r2108, r2123;
}
{
cvt.rn.f16.f64 rs109, fd107;
}
mov.b32 r2338, {rs109, rs109};
{
cvt.rn.f16.f64 rs110, fd108;
}
{
neg.f16 rs111, rs110;
}
mov.b32 r2356, {rs111, rs111};
{
cvt.rn.f16.f64 rs113, fd105;
}
mov.b32 r2410, {rs113, rs113};
{
cvt.rn.f16.f64 rs114, fd106;
}
{
neg.f16 rs115, rs114;
}
mov.b32 r2428, {rs115, rs115};
{
cvt.rn.f16.f64 rs117, fd107;
}
mov.b32 r2419, {rs117, rs117};
{
cvt.rn.f16.f64 rs118, fd108;
}
mov.b32 r2434, {rs118, rs118};
{
add.f16x2 r2129, r1567, r1615;
}
{
add.f16x2 r2132, r58, r2129;
}
{
add.f16x2 r2135, r1583, r1599;
}
{
add.f16x2 %2, r2132, r2135;
}
{
add.f16x2 r2141, r1573, r1621;
}
{
add.f16x2 r2144, r202, r2141;
}
{
add.f16x2 r2147, r1589, r1605;
}
{
add.f16x2 %3, r2144, r2147;
}
{
add.f16x2 r2153, r1567, r1615;
}
{
mul.f16x2 r2156, r2153, r2338;
}
{
add.f16x2 r2159, r58, r2156;
}
{
add.f16x2 r2162, r1583, r1599;
}
{
mul.f16x2 r2165, r2162, r2410;
}
{
add.f16x2 r2168, r2159, r2165;
}
{
sub.f16x2 r2171, r1573, r1621;
}
{
mul.f16x2 r2174, r2171, r2356;
}
{
sub.f16x2 r2177, r1589, r1605;
}
{
mul.f16x2 r2180, r2177, r2428;
}
{
add.f16x2 r2183, r2174, r2180;
}
{
sub.f16x2 %12, r2168, r2183;
}
{
add.f16x2 r2189, r1567, r1615;
}
{
mul.f16x2 r2192, r2189, r2338;
}
{
add.f16x2 r2195, r58, r2192;
}
{
add.f16x2 r2198, r1583, r1599;
}
{
mul.f16x2 r2201, r2198, r2410;
}
{
add.f16x2 r2204, r2195, r2201;
}
{
sub.f16x2 r2207, r1573, r1621;
}
{
mul.f16x2 r2210, r2207, r2356;
}
{
sub.f16x2 r2213, r1589, r1605;
}
{
mul.f16x2 r2216, r2213, r2428;
}
{
add.f16x2 r2219, r2210, r2216;
}
{
add.f16x2 %42, r2204, r2219;
}
{
add.f16x2 r2225, r1567, r1615;
}
{
mul.f16x2 r2228, r2225, r2410;
}
{
add.f16x2 r2231, r58, r2228;
}
{
add.f16x2 r2234, r1583, r1599;
}
{
mul.f16x2 r2237, r2234, r2419;
}
{
add.f16x2 r2240, r2231, r2237;
}
{
sub.f16x2 r2243, r1573, r1621;
}
{
mul.f16x2 r2246, r2243, r2428;
}
{
sub.f16x2 r2249, r1589, r1605;
}
{
mul.f16x2 r2252, r2249, r2434;
}
{
add.f16x2 r2255, r2246, r2252;
}
{
sub.f16x2 %22, r2240, r2255;
}
{
add.f16x2 r2261, r1567, r1615;
}
{
mul.f16x2 r2264, r2261, r2410;
}
{
add.f16x2 r2267, r58, r2264;
}
{
add.f16x2 r2270, r1583, r1599;
}
{
mul.f16x2 r2273, r2270, r2419;
}
{
add.f16x2 r2276, r2267, r2273;
}
{
sub.f16x2 r2279, r1573, r1621;
}
{
mul.f16x2 r2282, r2279, r2428;
}
{
sub.f16x2 r2285, r1589, r1605;
}
{
mul.f16x2 r2288, r2285, r2434;
}
{
add.f16x2 r2291, r2282, r2288;
}
{
add.f16x2 %32, r2276, r2291;
}
{
add.f16x2 r2297, r1573, r1621;
}
{
mul.f16x2 r2300, r2297, r2338;
}
{
add.f16x2 r2303, r202, r2300;
}
{
add.f16x2 r2306, r1589, r1605;
}
{
mul.f16x2 r2309, r2306, r2410;
}
{
add.f16x2 r2312, r2303, r2309;
}
{
sub.f16x2 r2315, r1567, r1615;
}
{
mul.f16x2 r2318, r2315, r2356;
}
{
sub.f16x2 r2321, r1583, r1599;
}
{
mul.f16x2 r2324, r2321, r2428;
}
{
add.f16x2 r2327, r2318, r2324;
}
{
add.f16x2 %13, r2312, r2327;
}
{
add.f16x2 r2333, r1573, r1621;
}
{
mul.f16x2 r2336, r2333, r2338;
}
{
add.f16x2 r2339, r202, r2336;
}
{
add.f16x2 r2342, r1589, r1605;
}
{
mul.f16x2 r2345, r2342, r2410;
}
{
add.f16x2 r2348, r2339, r2345;
}
{
sub.f16x2 r2351, r1567, r1615;
}
{
mul.f16x2 r2354, r2351, r2356;
}
{
sub.f16x2 r2357, r1583, r1599;
}
{
mul.f16x2 r2360, r2357, r2428;
}
{
add.f16x2 r2363, r2354, r2360;
}
{
sub.f16x2 %43, r2348, r2363;
}
{
add.f16x2 r2369, r1573, r1621;
}
{
mul.f16x2 r2372, r2369, r2410;
}
{
add.f16x2 r2375, r202, r2372;
}
{
add.f16x2 r2378, r1589, r1605;
}
{
mul.f16x2 r2381, r2378, r2419;
}
{
add.f16x2 r2384, r2375, r2381;
}
{
sub.f16x2 r2387, r1567, r1615;
}
{
mul.f16x2 r2390, r2387, r2428;
}
{
sub.f16x2 r2393, r1583, r1599;
}
{
mul.f16x2 r2396, r2393, r2434;
}
{
add.f16x2 r2399, r2390, r2396;
}
{
add.f16x2 %23, r2384, r2399;
}
{
add.f16x2 r2405, r1573, r1621;
}
{
mul.f16x2 r2408, r2405, r2410;
}
{
add.f16x2 r2411, r202, r2408;
}
{
add.f16x2 r2414, r1589, r1605;
}
{
mul.f16x2 r2417, r2414, r2419;
}
{
add.f16x2 r2420, r2411, r2417;
}
{
sub.f16x2 r2423, r1567, r1615;
}
{
mul.f16x2 r2426, r2423, r2428;
}
{
sub.f16x2 r2429, r1583, r1599;
}
{
mul.f16x2 r2432, r2429, r2434;
}
{
add.f16x2 r2435, r2426, r2432;
}
{
sub.f16x2 %33, r2420, r2435;
}
{
cvt.rn.f16.f64 rs119, fd107;
}
mov.b32 r2650, {rs119, rs119};
{
cvt.rn.f16.f64 rs120, fd108;
}
{
neg.f16 rs121, rs120;
}
mov.b32 r2668, {rs121, rs121};
{
cvt.rn.f16.f64 rs123, fd105;
}
mov.b32 r2722, {rs123, rs123};
{
cvt.rn.f16.f64 rs124, fd106;
}
{
neg.f16 rs125, rs124;
}
mov.b32 r2740, {rs125, rs125};
{
cvt.rn.f16.f64 rs127, fd107;
}
mov.b32 r2731, {rs127, rs127};
{
cvt.rn.f16.f64 rs128, fd108;
}
mov.b32 r2746, {rs128, rs128};
{
add.f16x2 r2441, r1631, r1679;
}
{
add.f16x2 r2444, r130, r2441;
}
{
add.f16x2 r2447, r1647, r1663;
}
{
add.f16x2 %4, r2444, r2447;
}
{
add.f16x2 r2453, r1637, r1685;
}
{
add.f16x2 r2456, r274, r2453;
}
{
add.f16x2 r2459, r1653, r1669;
}
{
add.f16x2 %5, r2456, r2459;
}
{
add.f16x2 r2465, r1631, r1679;
}
{
mul.f16x2 r2468, r2465, r2650;
}
{
add.f16x2 r2471, r130, r2468;
}
{
add.f16x2 r2474, r1647, r1663;
}
{
mul.f16x2 r2477, r2474, r2722;
}
{
add.f16x2 r2480, r2471, r2477;
}
{
sub.f16x2 r2483, r1637, r1685;
}
{
mul.f16x2 r2486, r2483, r2668;
}
{
sub.f16x2 r2489, r1653, r1669;
}
{
mul.f16x2 r2492, r2489, r2740;
}
{
add.f16x2 r2495, r2486, r2492;
}
{
sub.f16x2 %14, r2480, r2495;
}
{
add.f16x2 r2501, r1631, r1679;
}
{
mul.f16x2 r2504, r2501, r2650;
}
{
add.f16x2 r2507, r130, r2504;
}
{
add.f16x2 r2510, r1647, r1663;
}
{
mul.f16x2 r2513, r2510, r2722;
}
{
add.f16x2 r2516, r2507, r2513;
}
{
sub.f16x2 r2519, r1637, r1685;
}
{
mul.f16x2 r2522, r2519, r2668;
}
{
sub.f16x2 r2525, r1653, r1669;
}
{
mul.f16x2 r2528, r2525, r2740;
}
{
add.f16x2 r2531, r2522, r2528;
}
{
add.f16x2 %44, r2516, r2531;
}
{
add.f16x2 r2537, r1631, r1679;
}
{
mul.f16x2 r2540, r2537, r2722;
}
{
add.f16x2 r2543, r130, r2540;
}
{
add.f16x2 r2546, r1647, r1663;
}
{
mul.f16x2 r2549, r2546, r2731;
}
{
add.f16x2 r2552, r2543, r2549;
}
{
sub.f16x2 r2555, r1637, r1685;
}
{
mul.f16x2 r2558, r2555, r2740;
}
{
sub.f16x2 r2561, r1653, r1669;
}
{
mul.f16x2 r2564, r2561, r2746;
}
{
add.f16x2 r2567, r2558, r2564;
}
{
sub.f16x2 %24, r2552, r2567;
}
{
add.f16x2 r2573, r1631, r1679;
}
{
mul.f16x2 r2576, r2573, r2722;
}
{
add.f16x2 r2579, r130, r2576;
}
{
add.f16x2 r2582, r1647, r1663;
}
{
mul.f16x2 r2585, r2582, r2731;
}
{
add.f16x2 r2588, r2579, r2585;
}
{
sub.f16x2 r2591, r1637, r1685;
}
{
mul.f16x2 r2594, r2591, r2740;
}
{
sub.f16x2 r2597, r1653, r1669;
}
{
mul.f16x2 r2600, r2597, r2746;
}
{
add.f16x2 r2603, r2594, r2600;
}
{
add.f16x2 %34, r2588, r2603;
}
{
add.f16x2 r2609, r1637, r1685;
}
{
mul.f16x2 r2612, r2609, r2650;
}
{
add.f16x2 r2615, r274, r2612;
}
{
add.f16x2 r2618, r1653, r1669;
}
{
mul.f16x2 r2621, r2618, r2722;
}
{
add.f16x2 r2624, r2615, r2621;
}
{
sub.f16x2 r2627, r1631, r1679;
}
{
mul.f16x2 r2630, r2627, r2668;
}
{
sub.f16x2 r2633, r1647, r1663;
}
{
mul.f16x2 r2636, r2633, r2740;
}
{
add.f16x2 r2639, r2630, r2636;
}
{
add.f16x2 %15, r2624, r2639;
}
{
add.f16x2 r2645, r1637, r1685;
}
{
mul.f16x2 r2648, r2645, r2650;
}
{
add.f16x2 r2651, r274, r2648;
}
{
add.f16x2 r2654, r1653, r1669;
}
{
mul.f16x2 r2657, r2654, r2722;
}
{
add.f16x2 r2660, r2651, r2657;
}
{
sub.f16x2 r2663, r1631, r1679;
}
{
mul.f16x2 r2666, r2663, r2668;
}
{
sub.f16x2 r2669, r1647, r1663;
}
{
mul.f16x2 r2672, r2669, r2740;
}
{
add.f16x2 r2675, r2666, r2672;
}
{
sub.f16x2 %45, r2660, r2675;
}
{
add.f16x2 r2681, r1637, r1685;
}
{
mul.f16x2 r2684, r2681, r2722;
}
{
add.f16x2 r2687, r274, r2684;
}
{
add.f16x2 r2690, r1653, r1669;
}
{
mul.f16x2 r2693, r2690, r2731;
}
{
add.f16x2 r2696, r2687, r2693;
}
{
sub.f16x2 r2699, r1631, r1679;
}
{
mul.f16x2 r2702, r2699, r2740;
}
{
sub.f16x2 r2705, r1647, r1663;
}
{
mul.f16x2 r2708, r2705, r2746;
}
{
add.f16x2 r2711, r2702, r2708;
}
{
add.f16x2 %25, r2696, r2711;
}
{
add.f16x2 r2717, r1637, r1685;
}
{
mul.f16x2 r2720, r2717, r2722;
}
{
add.f16x2 r2723, r274, r2720;
}
{
add.f16x2 r2726, r1653, r1669;
}
{
mul.f16x2 r2729, r2726, r2731;
}
{
add.f16x2 r2732, r2723, r2729;
}
{
sub.f16x2 r2735, r1631, r1679;
}
{
mul.f16x2 r2738, r2735, r2740;
}
{
sub.f16x2 r2741, r1647, r1663;
}
{
mul.f16x2 r2744, r2741, r2746;
}
{
add.f16x2 r2747, r2738, r2744;
}
{
sub.f16x2 %35, r2732, r2747;
}
{
cvt.rn.f16.f64 rs129, fd107;
}
mov.b32 r2962, {rs129, rs129};
{
cvt.rn.f16.f64 rs130, fd108;
}
{
neg.f16 rs131, rs130;
}
mov.b32 r2980, {rs131, rs131};
{
cvt.rn.f16.f64 rs133, fd105;
}
mov.b32 r3034, {rs133, rs133};
{
cvt.rn.f16.f64 rs134, fd106;
}
{
neg.f16 rs135, rs134;
}
mov.b32 r3052, {rs135, rs135};
{
cvt.rn.f16.f64 rs137, fd107;
}
mov.b32 r3043, {rs137, rs137};
{
cvt.rn.f16.f64 rs138, fd108;
}
mov.b32 r3058, {rs138, rs138};
{
add.f16x2 r2753, r1695, r1743;
}
{
add.f16x2 r2756, r166, r2753;
}
{
add.f16x2 r2759, r1711, r1727;
}
{
add.f16x2 %6, r2756, r2759;
}
{
add.f16x2 r2765, r1701, r1749;
}
{
add.f16x2 r2768, r310, r2765;
}
{
add.f16x2 r2771, r1717, r1733;
}
{
add.f16x2 %7, r2768, r2771;
}
{
add.f16x2 r2777, r1695, r1743;
}
{
mul.f16x2 r2780, r2777, r2962;
}
{
add.f16x2 r2783, r166, r2780;
}
{
add.f16x2 r2786, r1711, r1727;
}
{
mul.f16x2 r2789, r2786, r3034;
}
{
add.f16x2 r2792, r2783, r2789;
}
{
sub.f16x2 r2795, r1701, r1749;
}
{
mul.f16x2 r2798, r2795, r2980;
}
{
sub.f16x2 r2801, r1717, r1733;
}
{
mul.f16x2 r2804, r2801, r3052;
}
{
add.f16x2 r2807, r2798, r2804;
}
{
sub.f16x2 %16, r2792, r2807;
}
{
add.f16x2 r2813, r1695, r1743;
}
{
mul.f16x2 r2816, r2813, r2962;
}
{
add.f16x2 r2819, r166, r2816;
}
{
add.f16x2 r2822, r1711, r1727;
}
{
mul.f16x2 r2825, r2822, r3034;
}
{
add.f16x2 r2828, r2819, r2825;
}
{
sub.f16x2 r2831, r1701, r1749;
}
{
mul.f16x2 r2834, r2831, r2980;
}
{
sub.f16x2 r2837, r1717, r1733;
}
{
mul.f16x2 r2840, r2837, r3052;
}
{
add.f16x2 r2843, r2834, r2840;
}
{
add.f16x2 %46, r2828, r2843;
}
{
add.f16x2 r2849, r1695, r1743;
}
{
mul.f16x2 r2852, r2849, r3034;
}
{
add.f16x2 r2855, r166, r2852;
}
{
add.f16x2 r2858, r1711, r1727;
}
{
mul.f16x2 r2861, r2858, r3043;
}
{
add.f16x2 r2864, r2855, r2861;
}
{
sub.f16x2 r2867, r1701, r1749;
}
{
mul.f16x2 r2870, r2867, r3052;
}
{
sub.f16x2 r2873, r1717, r1733;
}
{
mul.f16x2 r2876, r2873, r3058;
}
{
add.f16x2 r2879, r2870, r2876;
}
{
sub.f16x2 %26, r2864, r2879;
}
{
add.f16x2 r2885, r1695, r1743;
}
{
mul.f16x2 r2888, r2885, r3034;
}
{
add.f16x2 r2891, r166, r2888;
}
{
add.f16x2 r2894, r1711, r1727;
}
{
mul.f16x2 r2897, r2894, r3043;
}
{
add.f16x2 r2900, r2891, r2897;
}
{
sub.f16x2 r2903, r1701, r1749;
}
{
mul.f16x2 r2906, r2903, r3052;
}
{
sub.f16x2 r2909, r1717, r1733;
}
{
mul.f16x2 r2912, r2909, r3058;
}
{
add.f16x2 r2915, r2906, r2912;
}
{
add.f16x2 %36, r2900, r2915;
}
{
add.f16x2 r2921, r1701, r1749;
}
{
mul.f16x2 r2924, r2921, r2962;
}
{
add.f16x2 r2927, r310, r2924;
}
{
add.f16x2 r2930, r1717, r1733;
}
{
mul.f16x2 r2933, r2930, r3034;
}
{
add.f16x2 r2936, r2927, r2933;
}
{
sub.f16x2 r2939, r1695, r1743;
}
{
mul.f16x2 r2942, r2939, r2980;
}
{
sub.f16x2 r2945, r1711, r1727;
}
{
mul.f16x2 r2948, r2945, r3052;
}
{
add.f16x2 r2951, r2942, r2948;
}
{
add.f16x2 %17, r2936, r2951;
}
{
add.f16x2 r2957, r1701, r1749;
}
{
mul.f16x2 r2960, r2957, r2962;
}
{
add.f16x2 r2963, r310, r2960;
}
{
add.f16x2 r2966, r1717, r1733;
}
{
mul.f16x2 r2969, r2966, r3034;
}
{
add.f16x2 r2972, r2963, r2969;
}
{
sub.f16x2 r2975, r1695, r1743;
}
{
mul.f16x2 r2978, r2975, r2980;
}
{
sub.f16x2 r2981, r1711, r1727;
}
{
mul.f16x2 r2984, r2981, r3052;
}
{
add.f16x2 r2987, r2978, r2984;
}
{
sub.f16x2 %47, r2972, r2987;
}
{
add.f16x2 r2993, r1701, r1749;
}
{
mul.f16x2 r2996, r2993, r3034;
}
{
add.f16x2 r2999, r310, r2996;
}
{
add.f16x2 r3002, r1717, r1733;
}
{
mul.f16x2 r3005, r3002, r3043;
}
{
add.f16x2 r3008, r2999, r3005;
}
{
sub.f16x2 r3011, r1695, r1743;
}
{
mul.f16x2 r3014, r3011, r3052;
}
{
sub.f16x2 r3017, r1711, r1727;
}
{
mul.f16x2 r3020, r3017, r3058;
}
{
add.f16x2 r3023, r3014, r3020;
}
{
add.f16x2 %27, r3008, r3023;
}
{
add.f16x2 r3029, r1701, r1749;
}
{
mul.f16x2 r3032, r3029, r3034;
}
{
add.f16x2 r3035, r310, r3032;
}
{
add.f16x2 r3038, r1717, r1733;
}
{
mul.f16x2 r3041, r3038, r3043;
}
{
add.f16x2 r3044, r3035, r3041;
}
{
sub.f16x2 r3047, r1695, r1743;
}
{
mul.f16x2 r3050, r3047, r3052;
}
{
sub.f16x2 r3053, r1711, r1727;
}
{
mul.f16x2 r3056, r3053, r3058;
}
{
add.f16x2 r3059, r3050, r3056;
}
{
sub.f16x2 %37, r3044, r3059;
}
{
cvt.rn.f16.f64 rs139, fd107;
}
mov.b32 r3274, {rs139, rs139};
{
cvt.rn.f16.f64 rs140, fd108;
}
{
neg.f16 rs141, rs140;
}
mov.b32 r3292, {rs141, rs141};
{
cvt.rn.f16.f64 rs143, fd105;
}
mov.b32 r3346, {rs143, rs143};
{
cvt.rn.f16.f64 rs144, fd106;
}
{
neg.f16 rs145, rs144;
}
mov.b32 r3364, {rs145, rs145};
{
cvt.rn.f16.f64 rs147, fd107;
}
mov.b32 r3355, {rs147, rs147};
{
cvt.rn.f16.f64 rs148, fd108;
}
mov.b32 r3370, {rs148, rs148};
{
add.f16x2 r3065, r1759, r1807;
}
{
add.f16x2 r3068, r94, r3065;
}
{
add.f16x2 r3071, r1775, r1791;
}
{
add.f16x2 %8, r3068, r3071;
}
{
add.f16x2 r3077, r1765, r1813;
}
{
add.f16x2 r3080, r238, r3077;
}
{
add.f16x2 r3083, r1781, r1797;
}
{
add.f16x2 %9, r3080, r3083;
}
{
add.f16x2 r3089, r1759, r1807;
}
{
mul.f16x2 r3092, r3089, r3274;
}
{
add.f16x2 r3095, r94, r3092;
}
{
add.f16x2 r3098, r1775, r1791;
}
{
mul.f16x2 r3101, r3098, r3346;
}
{
add.f16x2 r3104, r3095, r3101;
}
{
sub.f16x2 r3107, r1765, r1813;
}
{
mul.f16x2 r3110, r3107, r3292;
}
{
sub.f16x2 r3113, r1781, r1797;
}
{
mul.f16x2 r3116, r3113, r3364;
}
{
add.f16x2 r3119, r3110, r3116;
}
{
sub.f16x2 %18, r3104, r3119;
}
{
add.f16x2 r3125, r1759, r1807;
}
{
mul.f16x2 r3128, r3125, r3274;
}
{
add.f16x2 r3131, r94, r3128;
}
{
add.f16x2 r3134, r1775, r1791;
}
{
mul.f16x2 r3137, r3134, r3346;
}
{
add.f16x2 r3140, r3131, r3137;
}
{
sub.f16x2 r3143, r1765, r1813;
}
{
mul.f16x2 r3146, r3143, r3292;
}
{
sub.f16x2 r3149, r1781, r1797;
}
{
mul.f16x2 r3152, r3149, r3364;
}
{
add.f16x2 r3155, r3146, r3152;
}
{
add.f16x2 %48, r3140, r3155;
}
{
add.f16x2 r3161, r1759, r1807;
}
{
mul.f16x2 r3164, r3161, r3346;
}
{
add.f16x2 r3167, r94, r3164;
}
{
add.f16x2 r3170, r1775, r1791;
}
{
mul.f16x2 r3173, r3170, r3355;
}
{
add.f16x2 r3176, r3167, r3173;
}
{
sub.f16x2 r3179, r1765, r1813;
}
{
mul.f16x2 r3182, r3179, r3364;
}
{
sub.f16x2 r3185, r1781, r1797;
}
{
mul.f16x2 r3188, r3185, r3370;
}
{
add.f16x2 r3191, r3182, r3188;
}
{
sub.f16x2 %28, r3176, r3191;
}
{
add.f16x2 r3197, r1759, r1807;
}
{
mul.f16x2 r3200, r3197, r3346;
}
{
add.f16x2 r3203, r94, r3200;
}
{
add.f16x2 r3206, r1775, r1791;
}
{
mul.f16x2 r3209, r3206, r3355;
}
{
add.f16x2 r3212, r3203, r3209;
}
{
sub.f16x2 r3215, r1765, r1813;
}
{
mul.f16x2 r3218, r3215, r3364;
}
{
sub.f16x2 r3221, r1781, r1797;
}
{
mul.f16x2 r3224, r3221, r3370;
}
{
add.f16x2 r3227, r3218, r3224;
}
{
add.f16x2 %38, r3212, r3227;
}
{
add.f16x2 r3233, r1765, r1813;
}
{
mul.f16x2 r3236, r3233, r3274;
}
{
add.f16x2 r3239, r238, r3236;
}
{
add.f16x2 r3242, r1781, r1797;
}
{
mul.f16x2 r3245, r3242, r3346;
}
{
add.f16x2 r3248, r3239, r3245;
}
{
sub.f16x2 r3251, r1759, r1807;
}
{
mul.f16x2 r3254, r3251, r3292;
}
{
sub.f16x2 r3257, r1775, r1791;
}
{
mul.f16x2 r3260, r3257, r3364;
}
{
add.f16x2 r3263, r3254, r3260;
}
{
add.f16x2 %19, r3248, r3263;
}
{
add.f16x2 r3269, r1765, r1813;
}
{
mul.f16x2 r3272, r3269, r3274;
}
{
add.f16x2 r3275, r238, r3272;
}
{
add.f16x2 r3278, r1781, r1797;
}
{
mul.f16x2 r3281, r3278, r3346;
}
{
add.f16x2 r3284, r3275, r3281;
}
{
sub.f16x2 r3287, r1759, r1807;
}
{
mul.f16x2 r3290, r3287, r3292;
}
{
sub.f16x2 r3293, r1775, r1791;
}
{
mul.f16x2 r3296, r3293, r3364;
}
{
add.f16x2 r3299, r3290, r3296;
}
{
sub.f16x2 %49, r3284, r3299;
}
{
add.f16x2 r3305, r1765, r1813;
}
{
mul.f16x2 r3308, r3305, r3346;
}
{
add.f16x2 r3311, r238, r3308;
}
{
add.f16x2 r3314, r1781, r1797;
}
{
mul.f16x2 r3317, r3314, r3355;
}
{
add.f16x2 r3320, r3311, r3317;
}
{
sub.f16x2 r3323, r1759, r1807;
}
{
mul.f16x2 r3326, r3323, r3364;
}
{
sub.f16x2 r3329, r1775, r1791;
}
{
mul.f16x2 r3332, r3329, r3370;
}
{
add.f16x2 r3335, r3326, r3332;
}
{
add.f16x2 %29, r3320, r3335;
}
{
add.f16x2 r3341, r1765, r1813;
}
{
mul.f16x2 r3344, r3341, r3346;
}
{
add.f16x2 r3347, r238, r3344;
}
{
add.f16x2 r3350, r1781, r1797;
}
{
mul.f16x2 r3353, r3350, r3355;
}
{
add.f16x2 r3356, r3347, r3353;
}
{
sub.f16x2 r3359, r1759, r1807;
}
{
mul.f16x2 r3362, r3359, r3364;
}
{
sub.f16x2 r3365, r1775, r1791;
}
{
mul.f16x2 r3368, r3365, r3370;
}
{
add.f16x2 r3371, r3362, r3368;
}
{
sub.f16x2 %39, r3356, r3371;
}
})"
     : "=r"(__HALF2_TO_UI(rmem[0].x)), "=r"(__HALF2_TO_UI(rmem[0].y)), "=r"(__HALF2_TO_UI(rmem[1].x)), "=r"(__HALF2_TO_UI(rmem[1].y)), "=r"(__HALF2_TO_UI(rmem[2].x)), "=r"(__HALF2_TO_UI(rmem[2].y)), "=r"(__HALF2_TO_UI(rmem[3].x)), "=r"(__HALF2_TO_UI(rmem[3].y)), "=r"(__HALF2_TO_UI(rmem[4].x)), "=r"(__HALF2_TO_UI(rmem[4].y)), "=r"(__HALF2_TO_UI(rmem[5].x)), "=r"(__HALF2_TO_UI(rmem[5].y)), "=r"(__HALF2_TO_UI(rmem[6].x)), "=r"(__HALF2_TO_UI(rmem[6].y)), "=r"(__HALF2_TO_UI(rmem[7].x)), "=r"(__HALF2_TO_UI(rmem[7].y)), "=r"(__HALF2_TO_UI(rmem[8].x)), "=r"(__HALF2_TO_UI(rmem[8].y)), "=r"(__HALF2_TO_UI(rmem[9].x)), "=r"(__HALF2_TO_UI(rmem[9].y)), "=r"(__HALF2_TO_UI(rmem[10].x)), "=r"(__HALF2_TO_UI(rmem[10].y)), "=r"(__HALF2_TO_UI(rmem[11].x)), "=r"(__HALF2_TO_UI(rmem[11].y)), "=r"(__HALF2_TO_UI(rmem[12].x)), "=r"(__HALF2_TO_UI(rmem[12].y)), "=r"(__HALF2_TO_UI(rmem[13].x)), "=r"(__HALF2_TO_UI(rmem[13].y)), "=r"(__HALF2_TO_UI(rmem[14].x)), "=r"(__HALF2_TO_UI(rmem[14].y)), "=r"(__HALF2_TO_UI(rmem[15].x)), "=r"(__HALF2_TO_UI(rmem[15].y)), "=r"(__HALF2_TO_UI(rmem[16].x)), "=r"(__HALF2_TO_UI(rmem[16].y)), "=r"(__HALF2_TO_UI(rmem[17].x)), "=r"(__HALF2_TO_UI(rmem[17].y)), "=r"(__HALF2_TO_UI(rmem[18].x)), "=r"(__HALF2_TO_UI(rmem[18].y)), "=r"(__HALF2_TO_UI(rmem[19].x)), "=r"(__HALF2_TO_UI(rmem[19].y)), "=r"(__HALF2_TO_UI(rmem[20].x)), "=r"(__HALF2_TO_UI(rmem[20].y)), "=r"(__HALF2_TO_UI(rmem[21].x)), "=r"(__HALF2_TO_UI(rmem[21].y)), "=r"(__HALF2_TO_UI(rmem[22].x)), "=r"(__HALF2_TO_UI(rmem[22].y)), "=r"(__HALF2_TO_UI(rmem[23].x)), "=r"(__HALF2_TO_UI(rmem[23].y)), "=r"(__HALF2_TO_UI(rmem[24].x)), "=r"(__HALF2_TO_UI(rmem[24].y)): "r"(__HALF2_TO_UI(rmem[15].x)), "r"(__HALF2_TO_UI(rmem[5].x)), "r"(__HALF2_TO_UI(rmem[0].x)), "r"(__HALF2_TO_UI(rmem[20].y)), "r"(__HALF2_TO_UI(rmem[10].x)), "r"(__HALF2_TO_UI(rmem[15].y)), "r"(__HALF2_TO_UI(rmem[5].y)), "r"(__HALF2_TO_UI(rmem[0].y)), "r"(__HALF2_TO_UI(rmem[20].x)), "r"(__HALF2_TO_UI(rmem[10].y)), "r"(__HALF2_TO_UI(rmem[11].y)), "r"(__HALF2_TO_UI(rmem[16].x)), "r"(__HALF2_TO_UI(rmem[6].x)), "r"(__HALF2_TO_UI(rmem[1].x)), "r"(__HALF2_TO_UI(rmem[21].y)), "r"(__HALF2_TO_UI(rmem[11].x)), "r"(__HALF2_TO_UI(rmem[16].y)), "r"(__HALF2_TO_UI(rmem[6].y)), "r"(__HALF2_TO_UI(rmem[1].y)), "r"(__HALF2_TO_UI(rmem[21].x)), "r"(__HALF2_TO_UI(rmem[2].y)), "r"(__HALF2_TO_UI(rmem[22].x)), "r"(__HALF2_TO_UI(rmem[12].y)), "r"(__HALF2_TO_UI(rmem[7].x)), "r"(__HALF2_TO_UI(rmem[17].x)), "r"(__HALF2_TO_UI(rmem[2].x)), "r"(__HALF2_TO_UI(rmem[22].y)), "r"(__HALF2_TO_UI(rmem[12].x)), "r"(__HALF2_TO_UI(rmem[17].y)), "r"(__HALF2_TO_UI(rmem[7].y)), "r"(__HALF2_TO_UI(rmem[18].y)), "r"(__HALF2_TO_UI(rmem[8].y)), "r"(__HALF2_TO_UI(rmem[3].y)), "r"(__HALF2_TO_UI(rmem[23].x)), "r"(__HALF2_TO_UI(rmem[13].y)), "r"(__HALF2_TO_UI(rmem[8].x)), "r"(__HALF2_TO_UI(rmem[18].x)), "r"(__HALF2_TO_UI(rmem[3].x)), "r"(__HALF2_TO_UI(rmem[23].y)), "r"(__HALF2_TO_UI(rmem[13].x)), "r"(__HALF2_TO_UI(rmem[24].y)), "r"(__HALF2_TO_UI(rmem[14].x)), "r"(__HALF2_TO_UI(rmem[19].y)), "r"(__HALF2_TO_UI(rmem[9].y)), "r"(__HALF2_TO_UI(rmem[4].y)), "r"(__HALF2_TO_UI(rmem[24].x)), "r"(__HALF2_TO_UI(rmem[14].y)), "r"(__HALF2_TO_UI(rmem[9].x)), "r"(__HALF2_TO_UI(rmem[19].x)), "r"(__HALF2_TO_UI(rmem[4].x)));
};




template<> __forceinline__ __device__ void cufftdx_private_function<1104, __half2, 1>(cufftdx::detail::complex<__half2> *rmem, unsigned smem){

asm volatile (R"({
.reg .f32 f<40>;
.reg .b32 r<807>;
.reg .b64 rd<4>;
mov.u32 r796, %tid.x;
mov.f32 f34, 0f3E9E377A;
{
.reg .f16 low, high;
cvt.rn.f16.f32 low, f34;
cvt.rn.f16.f32 high, f34;
mov.b32 r1, {low, high};
}
mov.f32 f36, 0fBF737871;
{
.reg .f16 low, high;
cvt.rn.f16.f32 low, f36;
cvt.rn.f16.f32 high, f36;
mov.b32 r2, {low, high};
}
{
neg.f16x2 r3, r2;
}
mov.f32 f30, 0fBF4F1BBD;
{
.reg .f16 low, high;
cvt.rn.f16.f32 low, f30;
cvt.rn.f16.f32 high, f30;
mov.b32 r5, {low, high};
}
mov.f32 f32, 0fBF167918;
{
.reg .f16 low, high;
cvt.rn.f16.f32 low, f32;
cvt.rn.f16.f32 high, f32;
mov.b32 r6, {low, high};
}
{
neg.f16x2 r7, r6;
}
{
.reg .f16 low, high;
cvt.rn.f16.f32 low, f34;
cvt.rn.f16.f32 high, f34;
mov.b32 r9, {low, high};
}
{
.reg .f16 low, high;
cvt.rn.f16.f32 low, f36;
cvt.rn.f16.f32 high, f36;
mov.b32 r10, {low, high};
}
{
add.f16x2 r11, %13, %19;
}
{
add.f16x2 r14, %11, r11;
}
{
add.f16x2 r17, %15, %17;
}
{
add.f16x2 r20, r14, r17;
}
{
add.f16x2 r23, %14, %20;
}
{
add.f16x2 r26, %12, r23;
}
{
add.f16x2 r29, %16, %18;
}
{
add.f16x2 r32, r26, r29;
}
{
add.f16x2 r35, %13, %19;
}
{
mul.f16x2 r38, r35, r1;
}
{
add.f16x2 r41, %11, r38;
}
{
add.f16x2 r44, %15, %17;
}
{
mul.f16x2 r47, r44, r5;
}
{
add.f16x2 r50, r41, r47;
}
{
sub.f16x2 r53, %14, %20;
}
{
mul.f16x2 r56, r53, r3;
}
{
sub.f16x2 r59, %16, %18;
}
{
mul.f16x2 r62, r59, r7;
}
{
add.f16x2 r65, r56, r62;
}
{
sub.f16x2 r68, r50, r65;
}
{
add.f16x2 r71, %13, %19;
}
{
mul.f16x2 r74, r71, r1;
}
{
add.f16x2 r77, %11, r74;
}
{
add.f16x2 r80, %15, %17;
}
{
mul.f16x2 r83, r80, r5;
}
{
add.f16x2 r86, r77, r83;
}
{
sub.f16x2 r89, %14, %20;
}
{
mul.f16x2 r92, r89, r3;
}
{
sub.f16x2 r95, %16, %18;
}
{
mul.f16x2 r98, r95, r7;
}
{
add.f16x2 r101, r92, r98;
}
{
add.f16x2 r104, r86, r101;
}
{
add.f16x2 r107, %13, %19;
}
{
mul.f16x2 r110, r107, r5;
}
{
add.f16x2 r113, %11, r110;
}
{
add.f16x2 r116, %15, %17;
}
{
mul.f16x2 r119, r116, r9;
}
{
add.f16x2 r122, r113, r119;
}
{
sub.f16x2 r125, %14, %20;
}
{
mul.f16x2 r128, r125, r7;
}
{
sub.f16x2 r131, %16, %18;
}
{
mul.f16x2 r134, r131, r10;
}
{
add.f16x2 r137, r128, r134;
}
{
sub.f16x2 r140, r122, r137;
}
{
add.f16x2 r143, %13, %19;
}
{
mul.f16x2 r146, r143, r5;
}
{
add.f16x2 r149, %11, r146;
}
{
add.f16x2 r152, %15, %17;
}
{
mul.f16x2 r155, r152, r9;
}
{
add.f16x2 r158, r149, r155;
}
{
sub.f16x2 r161, %14, %20;
}
{
mul.f16x2 r164, r161, r7;
}
{
sub.f16x2 r167, %16, %18;
}
{
mul.f16x2 r170, r167, r10;
}
{
add.f16x2 r173, r164, r170;
}
{
add.f16x2 r176, r158, r173;
}
{
add.f16x2 r179, %14, %20;
}
{
mul.f16x2 r182, r179, r1;
}
{
add.f16x2 r185, %12, r182;
}
{
add.f16x2 r188, %16, %18;
}
{
mul.f16x2 r191, r188, r5;
}
{
add.f16x2 r194, r185, r191;
}
{
sub.f16x2 r197, %13, %19;
}
{
mul.f16x2 r200, r197, r3;
}
{
sub.f16x2 r203, %15, %17;
}
{
mul.f16x2 r206, r203, r7;
}
{
add.f16x2 r209, r200, r206;
}
{
add.f16x2 r212, r194, r209;
}
{
add.f16x2 r215, %14, %20;
}
{
mul.f16x2 r218, r215, r1;
}
{
add.f16x2 r221, %12, r218;
}
{
add.f16x2 r224, %16, %18;
}
{
mul.f16x2 r227, r224, r5;
}
{
add.f16x2 r230, r221, r227;
}
{
sub.f16x2 r233, %13, %19;
}
{
mul.f16x2 r236, r233, r3;
}
{
sub.f16x2 r239, %15, %17;
}
{
mul.f16x2 r242, r239, r7;
}
{
add.f16x2 r245, r236, r242;
}
{
sub.f16x2 r248, r230, r245;
}
{
add.f16x2 r251, %14, %20;
}
{
mul.f16x2 r254, r251, r5;
}
{
add.f16x2 r257, %12, r254;
}
{
add.f16x2 r260, %16, %18;
}
{
mul.f16x2 r263, r260, r9;
}
{
add.f16x2 r266, r257, r263;
}
{
sub.f16x2 r269, %13, %19;
}
{
mul.f16x2 r272, r269, r7;
}
{
sub.f16x2 r275, %15, %17;
}
{
mul.f16x2 r278, r275, r10;
}
{
add.f16x2 r281, r272, r278;
}
{
add.f16x2 r284, r266, r281;
}
{
add.f16x2 r287, %14, %20;
}
{
mul.f16x2 r290, r287, r5;
}
{
add.f16x2 r293, %12, r290;
}
{
add.f16x2 r296, %16, %18;
}
{
mul.f16x2 r299, r296, r9;
}
{
add.f16x2 r302, r293, r299;
}
{
sub.f16x2 r305, %13, %19;
}
{
mul.f16x2 r308, r305, r7;
}
{
sub.f16x2 r311, %15, %17;
}
{
mul.f16x2 r314, r311, r10;
}
{
add.f16x2 r317, r308, r314;
}
{
sub.f16x2 r320, r302, r317;
}
mul.wide.u32 rd2, r796, -858993459;
shr.u64 rd3, rd2, 34;
cvt.u32.u64 r797, rd3;
mul.lo.s32 r798, r797, 5;
sub.s32 r799, r796, r798;
cvt.rn.f32.u32 f37, r799;
mul.f32 f38, f37, 0f3E80ADFD;
cos.approx.f32 f13, f38;
sin.approx.f32 f39, f38;
neg.f32 f14, f39;
{
.reg .f16 low, high;
cvt.rn.f16.f32 low, f13;
cvt.rn.f16.f32 high, f14;
mov.b32 r323, {low, high};
}
mov.u32 r800, %tid.y;
mov.u32 r801, %10;
mad.lo.s32 r802, r800, 200, r801;
{
.reg .f16 low, high;
mov.b32 {low, high}, r323;
mov.b32 r326, {low, low};
}
{
.reg .f16 low, high;
mov.b32 {low, high}, r323;
mov.b32 r328, {high, high};
}
{
mul.f16x2 r330, r212, r328;
}
{
fma.rn.f16x2 r333, r68, r326, r330;
}
{
mul.f16x2 r337, r68, r328;
}
{
neg.f16x2 r340, r337;
}
{
fma.rn.f16x2 r342, r212, r326, r340;
}
{
.reg .f16 low, high;
mov.b32 {low, high}, r323;
mov.b32 r346, {low, low};
}
{
.reg .f16 low, high;
mov.b32 {low, high}, r323;
mov.b32 r348, {high, high};
}
mov.f32 f21, 0fBF800000;
mov.f32 f22, 0f3F800000;
{
.reg .f16 low, high;
cvt.rn.f16.f32 low, f21;
cvt.rn.f16.f32 high, f22;
mov.b32 r350, {low, high};
}
{
mul.f16x2 r351, r348, r350;
}
{
mul.f16x2 r354, r323, r346;
}
{
.reg .f16 low, high;
mov.b32 {low, high}, r323;
mov.b32 r357, {high, low};
}
{
fma.rn.f16x2 r359, r351, r357, r354;
}
{
.reg .f16 low, high;
mov.b32 {low, high}, r359;
mov.b32 r363, {low, low};
}
{
.reg .f16 low, high;
mov.b32 {low, high}, r359;
mov.b32 r365, {high, high};
}
{
mul.f16x2 r367, r284, r365;
}
{
fma.rn.f16x2 r370, r140, r363, r367;
}
{
mul.f16x2 r374, r140, r365;
}
{
neg.f16x2 r377, r374;
}
{
fma.rn.f16x2 r379, r284, r363, r377;
}
{
.reg .f16 low, high;
mov.b32 {low, high}, r323;
mov.b32 r383, {low, low};
}
{
.reg .f16 low, high;
mov.b32 {low, high}, r323;
mov.b32 r385, {high, high};
}
{
.reg .f16 low, high;
cvt.rn.f16.f32 low, f21;
cvt.rn.f16.f32 high, f22;
mov.b32 r387, {low, high};
}
{
mul.f16x2 r388, r385, r387;
}
{
mul.f16x2 r391, r359, r383;
}
{
.reg .f16 low, high;
mov.b32 {low, high}, r359;
mov.b32 r394, {high, low};
}
{
fma.rn.f16x2 r396, r388, r394, r391;
}
{
.reg .f16 low, high;
mov.b32 {low, high}, r396;
mov.b32 r400, {low, low};
}
{
.reg .f16 low, high;
mov.b32 {low, high}, r396;
mov.b32 r402, {high, high};
}
{
mul.f16x2 r404, r320, r402;
}
{
fma.rn.f16x2 r407, r176, r400, r404;
}
{
mul.f16x2 r411, r176, r402;
}
{
neg.f16x2 r414, r411;
}
{
fma.rn.f16x2 r416, r320, r400, r414;
}
{
.reg .f16 low, high;
mov.b32 {low, high}, r323;
mov.b32 r420, {low, low};
}
{
.reg .f16 low, high;
mov.b32 {low, high}, r323;
mov.b32 r422, {high, high};
}
{
.reg .f16 low, high;
cvt.rn.f16.f32 low, f21;
cvt.rn.f16.f32 high, f22;
mov.b32 r424, {low, high};
}
{
mul.f16x2 r425, r422, r424;
}
{
mul.f16x2 r428, r396, r420;
}
{
.reg .f16 low, high;
mov.b32 {low, high}, r396;
mov.b32 r431, {high, low};
}
{
fma.rn.f16x2 r433, r425, r431, r428;
}
{
.reg .f16 low, high;
mov.b32 {low, high}, r433;
mov.b32 r437, {low, low};
}
{
.reg .f16 low, high;
mov.b32 {low, high}, r433;
mov.b32 r439, {high, high};
}
{
mul.f16x2 r441, r248, r439;
}
{
fma.rn.f16x2 r444, r104, r437, r441;
}
{
mul.f16x2 r448, r104, r439;
}
{
neg.f16x2 r451, r448;
}
{
fma.rn.f16x2 r453, r248, r437, r451;
}
mad.lo.s32 r803, r797, 200, r802;
barrier.sync 0;
mad.lo.s32 r804, r799, 40, r803;
st.shared.v2.f32 [r804], {r20, r32};
st.shared.v2.f32 [r804+8], {r333, r342};
st.shared.v2.f32 [r804+16], {r370, r379};
st.shared.v2.f32 [r804+24], {r407, r416};
st.shared.v2.f32 [r804+32], {r444, r453};
barrier.sync 0;
shl.b32 r805, r799, 5;
sub.s32 r806, r804, r805;
ld.shared.u32 r488, [r806];
ld.shared.u32 r500, [r806+4];
ld.shared.u32 r485, [r806+40];
ld.shared.u32 r497, [r806+44];
ld.shared.u32 r491, [r806+80];
ld.shared.u32 r503, [r806+84];
ld.shared.u32 r492, [r806+120];
ld.shared.u32 r504, [r806+124];
ld.shared.u32 r486, [r806+160];
ld.shared.u32 r498, [r806+164];
{
.reg .f16 low, high;
cvt.rn.f16.f32 low, f34;
cvt.rn.f16.f32 high, f34;
mov.b32 r474, {low, high};
}
{
.reg .f16 low, high;
cvt.rn.f16.f32 low, f36;
cvt.rn.f16.f32 high, f36;
mov.b32 r475, {low, high};
}
{
neg.f16x2 r476, r475;
}
{
.reg .f16 low, high;
cvt.rn.f16.f32 low, f30;
cvt.rn.f16.f32 high, f30;
mov.b32 r478, {low, high};
}
{
.reg .f16 low, high;
cvt.rn.f16.f32 low, f32;
cvt.rn.f16.f32 high, f32;
mov.b32 r479, {low, high};
}
{
neg.f16x2 r480, r479;
}
{
.reg .f16 low, high;
cvt.rn.f16.f32 low, f34;
cvt.rn.f16.f32 high, f34;
mov.b32 r482, {low, high};
}
{
.reg .f16 low, high;
cvt.rn.f16.f32 low, f36;
cvt.rn.f16.f32 high, f36;
mov.b32 r483, {low, high};
}
{
add.f16x2 r484, r485, r486;
}
{
add.f16x2 r487, r488, r484;
}
{
add.f16x2 r490, r491, r492;
}
{
add.f16x2 %0, r487, r490;
}
{
add.f16x2 r496, r497, r498;
}
{
add.f16x2 r499, r500, r496;
}
{
add.f16x2 r502, r503, r504;
}
{
add.f16x2 %1, r499, r502;
}
{
add.f16x2 r508, r485, r486;
}
{
mul.f16x2 r511, r508, r474;
}
{
add.f16x2 r514, r488, r511;
}
{
add.f16x2 r517, r491, r492;
}
{
mul.f16x2 r520, r517, r478;
}
{
add.f16x2 r523, r514, r520;
}
{
sub.f16x2 r526, r497, r498;
}
{
mul.f16x2 r529, r526, r476;
}
{
sub.f16x2 r532, r503, r504;
}
{
mul.f16x2 r535, r532, r480;
}
{
add.f16x2 r538, r529, r535;
}
{
sub.f16x2 %2, r523, r538;
}
{
add.f16x2 r544, r485, r486;
}
{
mul.f16x2 r547, r544, r474;
}
{
add.f16x2 r550, r488, r547;
}
{
add.f16x2 r553, r491, r492;
}
{
mul.f16x2 r556, r553, r478;
}
{
add.f16x2 r559, r550, r556;
}
{
sub.f16x2 r562, r497, r498;
}
{
mul.f16x2 r565, r562, r476;
}
{
sub.f16x2 r568, r503, r504;
}
{
mul.f16x2 r571, r568, r480;
}
{
add.f16x2 r574, r565, r571;
}
{
add.f16x2 %8, r559, r574;
}
{
add.f16x2 r580, r485, r486;
}
{
mul.f16x2 r583, r580, r478;
}
{
add.f16x2 r586, r488, r583;
}
{
add.f16x2 r589, r491, r492;
}
{
mul.f16x2 r592, r589, r482;
}
{
add.f16x2 r595, r586, r592;
}
{
sub.f16x2 r598, r497, r498;
}
{
mul.f16x2 r601, r598, r480;
}
{
sub.f16x2 r604, r503, r504;
}
{
mul.f16x2 r607, r604, r483;
}
{
add.f16x2 r610, r601, r607;
}
{
sub.f16x2 %4, r595, r610;
}
{
add.f16x2 r616, r485, r486;
}
{
mul.f16x2 r619, r616, r478;
}
{
add.f16x2 r622, r488, r619;
}
{
add.f16x2 r625, r491, r492;
}
{
mul.f16x2 r628, r625, r482;
}
{
add.f16x2 r631, r622, r628;
}
{
sub.f16x2 r634, r497, r498;
}
{
mul.f16x2 r637, r634, r480;
}
{
sub.f16x2 r640, r503, r504;
}
{
mul.f16x2 r643, r640, r483;
}
{
add.f16x2 r646, r637, r643;
}
{
add.f16x2 %6, r631, r646;
}
{
add.f16x2 r652, r497, r498;
}
{
mul.f16x2 r655, r652, r474;
}
{
add.f16x2 r658, r500, r655;
}
{
add.f16x2 r661, r503, r504;
}
{
mul.f16x2 r664, r661, r478;
}
{
add.f16x2 r667, r658, r664;
}
{
sub.f16x2 r670, r485, r486;
}
{
mul.f16x2 r673, r670, r476;
}
{
sub.f16x2 r676, r491, r492;
}
{
mul.f16x2 r679, r676, r480;
}
{
add.f16x2 r682, r673, r679;
}
{
add.f16x2 %3, r667, r682;
}
{
add.f16x2 r688, r497, r498;
}
{
mul.f16x2 r691, r688, r474;
}
{
add.f16x2 r694, r500, r691;
}
{
add.f16x2 r697, r503, r504;
}
{
mul.f16x2 r700, r697, r478;
}
{
add.f16x2 r703, r694, r700;
}
{
sub.f16x2 r706, r485, r486;
}
{
mul.f16x2 r709, r706, r476;
}
{
sub.f16x2 r712, r491, r492;
}
{
mul.f16x2 r715, r712, r480;
}
{
add.f16x2 r718, r709, r715;
}
{
sub.f16x2 %9, r703, r718;
}
{
add.f16x2 r724, r497, r498;
}
{
mul.f16x2 r727, r724, r478;
}
{
add.f16x2 r730, r500, r727;
}
{
add.f16x2 r733, r503, r504;
}
{
mul.f16x2 r736, r733, r482;
}
{
add.f16x2 r739, r730, r736;
}
{
sub.f16x2 r742, r485, r486;
}
{
mul.f16x2 r745, r742, r480;
}
{
sub.f16x2 r748, r491, r492;
}
{
mul.f16x2 r751, r748, r483;
}
{
add.f16x2 r754, r745, r751;
}
{
add.f16x2 %5, r739, r754;
}
{
add.f16x2 r760, r497, r498;
}
{
mul.f16x2 r763, r760, r478;
}
{
add.f16x2 r766, r500, r763;
}
{
add.f16x2 r769, r503, r504;
}
{
mul.f16x2 r772, r769, r482;
}
{
add.f16x2 r775, r766, r772;
}
{
sub.f16x2 r778, r485, r486;
}
{
mul.f16x2 r781, r778, r480;
}
{
sub.f16x2 r784, r491, r492;
}
{
mul.f16x2 r787, r784, r483;
}
{
add.f16x2 r790, r781, r787;
}
{
sub.f16x2 %7, r775, r790;
}
})"
     : "=r"(__HALF2_TO_UI(rmem[0].x)), "=r"(__HALF2_TO_UI(rmem[0].y)), "=r"(__HALF2_TO_UI(rmem[1].x)), "=r"(__HALF2_TO_UI(rmem[1].y)), "=r"(__HALF2_TO_UI(rmem[2].x)), "=r"(__HALF2_TO_UI(rmem[2].y)), "=r"(__HALF2_TO_UI(rmem[3].x)), "=r"(__HALF2_TO_UI(rmem[3].y)), "=r"(__HALF2_TO_UI(rmem[4].x)), "=r"(__HALF2_TO_UI(rmem[4].y)): "r"(smem), "r"(__HALF2_TO_UI(rmem[0].x)), "r"(__HALF2_TO_UI(rmem[0].y)), "r"(__HALF2_TO_UI(rmem[1].x)), "r"(__HALF2_TO_UI(rmem[1].y)), "r"(__HALF2_TO_UI(rmem[2].x)), "r"(__HALF2_TO_UI(rmem[2].y)), "r"(__HALF2_TO_UI(rmem[3].x)), "r"(__HALF2_TO_UI(rmem[3].y)), "r"(__HALF2_TO_UI(rmem[4].x)), "r"(__HALF2_TO_UI(rmem[4].y)));
};




template<> __forceinline__ __device__ void cufftdx_private_function<1105, __half2, 1>(cufftdx::detail::complex<__half2> *rmem, unsigned smem){

asm volatile (R"({
.reg .f32 f<40>;
.reg .b32 r<807>;
.reg .b64 rd<4>;
mov.u32 r796, %tid.y;
mov.u32 r797, %10;
mad.lo.s32 r798, r796, 100, r797;
mov.u32 r799, %tid.x;
mov.f32 f34, 0f3E9E377A;
{
.reg .f16 low, high;
cvt.rn.f16.f32 low, f34;
cvt.rn.f16.f32 high, f34;
mov.b32 r1, {low, high};
}
mov.f32 f36, 0fBF737871;
{
.reg .f16 low, high;
cvt.rn.f16.f32 low, f36;
cvt.rn.f16.f32 high, f36;
mov.b32 r2, {low, high};
}
{
neg.f16x2 r3, r2;
}
mov.f32 f30, 0fBF4F1BBD;
{
.reg .f16 low, high;
cvt.rn.f16.f32 low, f30;
cvt.rn.f16.f32 high, f30;
mov.b32 r5, {low, high};
}
mov.f32 f32, 0fBF167918;
{
.reg .f16 low, high;
cvt.rn.f16.f32 low, f32;
cvt.rn.f16.f32 high, f32;
mov.b32 r6, {low, high};
}
{
neg.f16x2 r7, r6;
}
{
.reg .f16 low, high;
cvt.rn.f16.f32 low, f34;
cvt.rn.f16.f32 high, f34;
mov.b32 r9, {low, high};
}
{
.reg .f16 low, high;
cvt.rn.f16.f32 low, f36;
cvt.rn.f16.f32 high, f36;
mov.b32 r10, {low, high};
}
{
add.f16x2 r11, %13, %19;
}
{
add.f16x2 r14, %11, r11;
}
{
add.f16x2 r17, %15, %17;
}
{
add.f16x2 r20, r14, r17;
}
{
add.f16x2 r23, %14, %20;
}
{
add.f16x2 r26, %12, r23;
}
{
add.f16x2 r29, %16, %18;
}
{
add.f16x2 r32, r26, r29;
}
{
add.f16x2 r35, %13, %19;
}
{
mul.f16x2 r38, r35, r1;
}
{
add.f16x2 r41, %11, r38;
}
{
add.f16x2 r44, %15, %17;
}
{
mul.f16x2 r47, r44, r5;
}
{
add.f16x2 r50, r41, r47;
}
{
sub.f16x2 r53, %14, %20;
}
{
mul.f16x2 r56, r53, r3;
}
{
sub.f16x2 r59, %16, %18;
}
{
mul.f16x2 r62, r59, r7;
}
{
add.f16x2 r65, r56, r62;
}
{
sub.f16x2 r68, r50, r65;
}
{
add.f16x2 r71, %13, %19;
}
{
mul.f16x2 r74, r71, r1;
}
{
add.f16x2 r77, %11, r74;
}
{
add.f16x2 r80, %15, %17;
}
{
mul.f16x2 r83, r80, r5;
}
{
add.f16x2 r86, r77, r83;
}
{
sub.f16x2 r89, %14, %20;
}
{
mul.f16x2 r92, r89, r3;
}
{
sub.f16x2 r95, %16, %18;
}
{
mul.f16x2 r98, r95, r7;
}
{
add.f16x2 r101, r92, r98;
}
{
add.f16x2 r104, r86, r101;
}
{
add.f16x2 r107, %13, %19;
}
{
mul.f16x2 r110, r107, r5;
}
{
add.f16x2 r113, %11, r110;
}
{
add.f16x2 r116, %15, %17;
}
{
mul.f16x2 r119, r116, r9;
}
{
add.f16x2 r122, r113, r119;
}
{
sub.f16x2 r125, %14, %20;
}
{
mul.f16x2 r128, r125, r7;
}
{
sub.f16x2 r131, %16, %18;
}
{
mul.f16x2 r134, r131, r10;
}
{
add.f16x2 r137, r128, r134;
}
{
sub.f16x2 r140, r122, r137;
}
{
add.f16x2 r143, %13, %19;
}
{
mul.f16x2 r146, r143, r5;
}
{
add.f16x2 r149, %11, r146;
}
{
add.f16x2 r152, %15, %17;
}
{
mul.f16x2 r155, r152, r9;
}
{
add.f16x2 r158, r149, r155;
}
{
sub.f16x2 r161, %14, %20;
}
{
mul.f16x2 r164, r161, r7;
}
{
sub.f16x2 r167, %16, %18;
}
{
mul.f16x2 r170, r167, r10;
}
{
add.f16x2 r173, r164, r170;
}
{
add.f16x2 r176, r158, r173;
}
{
add.f16x2 r179, %14, %20;
}
{
mul.f16x2 r182, r179, r1;
}
{
add.f16x2 r185, %12, r182;
}
{
add.f16x2 r188, %16, %18;
}
{
mul.f16x2 r191, r188, r5;
}
{
add.f16x2 r194, r185, r191;
}
{
sub.f16x2 r197, %13, %19;
}
{
mul.f16x2 r200, r197, r3;
}
{
sub.f16x2 r203, %15, %17;
}
{
mul.f16x2 r206, r203, r7;
}
{
add.f16x2 r209, r200, r206;
}
{
add.f16x2 r212, r194, r209;
}
{
add.f16x2 r215, %14, %20;
}
{
mul.f16x2 r218, r215, r1;
}
{
add.f16x2 r221, %12, r218;
}
{
add.f16x2 r224, %16, %18;
}
{
mul.f16x2 r227, r224, r5;
}
{
add.f16x2 r230, r221, r227;
}
{
sub.f16x2 r233, %13, %19;
}
{
mul.f16x2 r236, r233, r3;
}
{
sub.f16x2 r239, %15, %17;
}
{
mul.f16x2 r242, r239, r7;
}
{
add.f16x2 r245, r236, r242;
}
{
sub.f16x2 r248, r230, r245;
}
{
add.f16x2 r251, %14, %20;
}
{
mul.f16x2 r254, r251, r5;
}
{
add.f16x2 r257, %12, r254;
}
{
add.f16x2 r260, %16, %18;
}
{
mul.f16x2 r263, r260, r9;
}
{
add.f16x2 r266, r257, r263;
}
{
sub.f16x2 r269, %13, %19;
}
{
mul.f16x2 r272, r269, r7;
}
{
sub.f16x2 r275, %15, %17;
}
{
mul.f16x2 r278, r275, r10;
}
{
add.f16x2 r281, r272, r278;
}
{
add.f16x2 r284, r266, r281;
}
{
add.f16x2 r287, %14, %20;
}
{
mul.f16x2 r290, r287, r5;
}
{
add.f16x2 r293, %12, r290;
}
{
add.f16x2 r296, %16, %18;
}
{
mul.f16x2 r299, r296, r9;
}
{
add.f16x2 r302, r293, r299;
}
{
sub.f16x2 r305, %13, %19;
}
{
mul.f16x2 r308, r305, r7;
}
{
sub.f16x2 r311, %15, %17;
}
{
mul.f16x2 r314, r311, r10;
}
{
add.f16x2 r317, r308, r314;
}
{
sub.f16x2 r320, r302, r317;
}
mul.wide.u32 rd2, r799, -858993459;
shr.u64 rd3, rd2, 34;
cvt.u32.u64 r800, rd3;
mul.lo.s32 r801, r800, 5;
sub.s32 r802, r799, r801;
mad.lo.s32 r803, r800, 100, r798;
cvt.rn.f32.u32 f37, r802;
mul.f32 f38, f37, 0f3E80ADFD;
cos.approx.f32 f13, f38;
sin.approx.f32 f39, f38;
neg.f32 f14, f39;
{
.reg .f16 low, high;
cvt.rn.f16.f32 low, f13;
cvt.rn.f16.f32 high, f14;
mov.b32 r323, {low, high};
}
{
.reg .f16 low, high;
mov.b32 {low, high}, r323;
mov.b32 r326, {low, low};
}
{
.reg .f16 low, high;
mov.b32 {low, high}, r323;
mov.b32 r328, {high, high};
}
{
mul.f16x2 r330, r212, r328;
}
{
fma.rn.f16x2 r333, r68, r326, r330;
}
{
mul.f16x2 r337, r68, r328;
}
{
neg.f16x2 r340, r337;
}
{
fma.rn.f16x2 r342, r212, r326, r340;
}
{
.reg .f16 low, high;
mov.b32 {low, high}, r323;
mov.b32 r346, {low, low};
}
{
.reg .f16 low, high;
mov.b32 {low, high}, r323;
mov.b32 r348, {high, high};
}
mov.f32 f21, 0fBF800000;
mov.f32 f22, 0f3F800000;
{
.reg .f16 low, high;
cvt.rn.f16.f32 low, f21;
cvt.rn.f16.f32 high, f22;
mov.b32 r350, {low, high};
}
{
mul.f16x2 r351, r348, r350;
}
{
mul.f16x2 r354, r323, r346;
}
{
.reg .f16 low, high;
mov.b32 {low, high}, r323;
mov.b32 r357, {high, low};
}
{
fma.rn.f16x2 r359, r351, r357, r354;
}
{
.reg .f16 low, high;
mov.b32 {low, high}, r359;
mov.b32 r363, {low, low};
}
{
.reg .f16 low, high;
mov.b32 {low, high}, r359;
mov.b32 r365, {high, high};
}
{
mul.f16x2 r367, r284, r365;
}
{
fma.rn.f16x2 r370, r140, r363, r367;
}
{
mul.f16x2 r374, r140, r365;
}
{
neg.f16x2 r377, r374;
}
{
fma.rn.f16x2 r379, r284, r363, r377;
}
{
.reg .f16 low, high;
mov.b32 {low, high}, r323;
mov.b32 r383, {low, low};
}
{
.reg .f16 low, high;
mov.b32 {low, high}, r323;
mov.b32 r385, {high, high};
}
{
.reg .f16 low, high;
cvt.rn.f16.f32 low, f21;
cvt.rn.f16.f32 high, f22;
mov.b32 r387, {low, high};
}
{
mul.f16x2 r388, r385, r387;
}
{
mul.f16x2 r391, r359, r383;
}
{
.reg .f16 low, high;
mov.b32 {low, high}, r359;
mov.b32 r394, {high, low};
}
{
fma.rn.f16x2 r396, r388, r394, r391;
}
{
.reg .f16 low, high;
mov.b32 {low, high}, r396;
mov.b32 r400, {low, low};
}
{
.reg .f16 low, high;
mov.b32 {low, high}, r396;
mov.b32 r402, {high, high};
}
{
mul.f16x2 r404, r320, r402;
}
{
fma.rn.f16x2 r407, r176, r400, r404;
}
{
mul.f16x2 r411, r176, r402;
}
{
neg.f16x2 r414, r411;
}
{
fma.rn.f16x2 r416, r320, r400, r414;
}
{
.reg .f16 low, high;
mov.b32 {low, high}, r323;
mov.b32 r420, {low, low};
}
{
.reg .f16 low, high;
mov.b32 {low, high}, r323;
mov.b32 r422, {high, high};
}
{
.reg .f16 low, high;
cvt.rn.f16.f32 low, f21;
cvt.rn.f16.f32 high, f22;
mov.b32 r424, {low, high};
}
{
mul.f16x2 r425, r422, r424;
}
{
mul.f16x2 r428, r396, r420;
}
{
.reg .f16 low, high;
mov.b32 {low, high}, r396;
mov.b32 r431, {high, low};
}
{
fma.rn.f16x2 r433, r425, r431, r428;
}
{
.reg .f16 low, high;
mov.b32 {low, high}, r433;
mov.b32 r437, {low, low};
}
{
.reg .f16 low, high;
mov.b32 {low, high}, r433;
mov.b32 r439, {high, high};
}
{
mul.f16x2 r441, r248, r439;
}
{
fma.rn.f16x2 r444, r104, r437, r441;
}
{
mul.f16x2 r448, r104, r439;
}
{
neg.f16x2 r451, r448;
}
{
fma.rn.f16x2 r453, r248, r437, r451;
}
barrier.sync 0;
mad.lo.s32 r804, r802, 20, r803;
st.shared.u32 [r804], r20;
st.shared.u32 [r804+4], r333;
st.shared.u32 [r804+8], r370;
st.shared.u32 [r804+12], r407;
st.shared.u32 [r804+16], r444;
barrier.sync 0;
shl.b32 r805, r802, 4;
sub.s32 r806, r804, r805;
ld.shared.u32 r488, [r806];
ld.shared.u32 r485, [r806+20];
ld.shared.u32 r491, [r806+40];
ld.shared.u32 r492, [r806+60];
ld.shared.u32 r486, [r806+80];
barrier.sync 0;
st.shared.u32 [r804], r32;
st.shared.u32 [r804+4], r342;
st.shared.u32 [r804+8], r379;
st.shared.u32 [r804+12], r416;
st.shared.u32 [r804+16], r453;
barrier.sync 0;
ld.shared.u32 r500, [r806];
ld.shared.u32 r497, [r806+20];
ld.shared.u32 r503, [r806+40];
ld.shared.u32 r504, [r806+60];
ld.shared.u32 r498, [r806+80];
{
.reg .f16 low, high;
cvt.rn.f16.f32 low, f34;
cvt.rn.f16.f32 high, f34;
mov.b32 r474, {low, high};
}
{
.reg .f16 low, high;
cvt.rn.f16.f32 low, f36;
cvt.rn.f16.f32 high, f36;
mov.b32 r475, {low, high};
}
{
neg.f16x2 r476, r475;
}
{
.reg .f16 low, high;
cvt.rn.f16.f32 low, f30;
cvt.rn.f16.f32 high, f30;
mov.b32 r478, {low, high};
}
{
.reg .f16 low, high;
cvt.rn.f16.f32 low, f32;
cvt.rn.f16.f32 high, f32;
mov.b32 r479, {low, high};
}
{
neg.f16x2 r480, r479;
}
{
.reg .f16 low, high;
cvt.rn.f16.f32 low, f34;
cvt.rn.f16.f32 high, f34;
mov.b32 r482, {low, high};
}
{
.reg .f16 low, high;
cvt.rn.f16.f32 low, f36;
cvt.rn.f16.f32 high, f36;
mov.b32 r483, {low, high};
}
{
add.f16x2 r484, r485, r486;
}
{
add.f16x2 r487, r488, r484;
}
{
add.f16x2 r490, r491, r492;
}
{
add.f16x2 %0, r487, r490;
}
{
add.f16x2 r496, r497, r498;
}
{
add.f16x2 r499, r500, r496;
}
{
add.f16x2 r502, r503, r504;
}
{
add.f16x2 %1, r499, r502;
}
{
add.f16x2 r508, r485, r486;
}
{
mul.f16x2 r511, r508, r474;
}
{
add.f16x2 r514, r488, r511;
}
{
add.f16x2 r517, r491, r492;
}
{
mul.f16x2 r520, r517, r478;
}
{
add.f16x2 r523, r514, r520;
}
{
sub.f16x2 r526, r497, r498;
}
{
mul.f16x2 r529, r526, r476;
}
{
sub.f16x2 r532, r503, r504;
}
{
mul.f16x2 r535, r532, r480;
}
{
add.f16x2 r538, r529, r535;
}
{
sub.f16x2 %2, r523, r538;
}
{
add.f16x2 r544, r485, r486;
}
{
mul.f16x2 r547, r544, r474;
}
{
add.f16x2 r550, r488, r547;
}
{
add.f16x2 r553, r491, r492;
}
{
mul.f16x2 r556, r553, r478;
}
{
add.f16x2 r559, r550, r556;
}
{
sub.f16x2 r562, r497, r498;
}
{
mul.f16x2 r565, r562, r476;
}
{
sub.f16x2 r568, r503, r504;
}
{
mul.f16x2 r571, r568, r480;
}
{
add.f16x2 r574, r565, r571;
}
{
add.f16x2 %8, r559, r574;
}
{
add.f16x2 r580, r485, r486;
}
{
mul.f16x2 r583, r580, r478;
}
{
add.f16x2 r586, r488, r583;
}
{
add.f16x2 r589, r491, r492;
}
{
mul.f16x2 r592, r589, r482;
}
{
add.f16x2 r595, r586, r592;
}
{
sub.f16x2 r598, r497, r498;
}
{
mul.f16x2 r601, r598, r480;
}
{
sub.f16x2 r604, r503, r504;
}
{
mul.f16x2 r607, r604, r483;
}
{
add.f16x2 r610, r601, r607;
}
{
sub.f16x2 %4, r595, r610;
}
{
add.f16x2 r616, r485, r486;
}
{
mul.f16x2 r619, r616, r478;
}
{
add.f16x2 r622, r488, r619;
}
{
add.f16x2 r625, r491, r492;
}
{
mul.f16x2 r628, r625, r482;
}
{
add.f16x2 r631, r622, r628;
}
{
sub.f16x2 r634, r497, r498;
}
{
mul.f16x2 r637, r634, r480;
}
{
sub.f16x2 r640, r503, r504;
}
{
mul.f16x2 r643, r640, r483;
}
{
add.f16x2 r646, r637, r643;
}
{
add.f16x2 %6, r631, r646;
}
{
add.f16x2 r652, r497, r498;
}
{
mul.f16x2 r655, r652, r474;
}
{
add.f16x2 r658, r500, r655;
}
{
add.f16x2 r661, r503, r504;
}
{
mul.f16x2 r664, r661, r478;
}
{
add.f16x2 r667, r658, r664;
}
{
sub.f16x2 r670, r485, r486;
}
{
mul.f16x2 r673, r670, r476;
}
{
sub.f16x2 r676, r491, r492;
}
{
mul.f16x2 r679, r676, r480;
}
{
add.f16x2 r682, r673, r679;
}
{
add.f16x2 %3, r667, r682;
}
{
add.f16x2 r688, r497, r498;
}
{
mul.f16x2 r691, r688, r474;
}
{
add.f16x2 r694, r500, r691;
}
{
add.f16x2 r697, r503, r504;
}
{
mul.f16x2 r700, r697, r478;
}
{
add.f16x2 r703, r694, r700;
}
{
sub.f16x2 r706, r485, r486;
}
{
mul.f16x2 r709, r706, r476;
}
{
sub.f16x2 r712, r491, r492;
}
{
mul.f16x2 r715, r712, r480;
}
{
add.f16x2 r718, r709, r715;
}
{
sub.f16x2 %9, r703, r718;
}
{
add.f16x2 r724, r497, r498;
}
{
mul.f16x2 r727, r724, r478;
}
{
add.f16x2 r730, r500, r727;
}
{
add.f16x2 r733, r503, r504;
}
{
mul.f16x2 r736, r733, r482;
}
{
add.f16x2 r739, r730, r736;
}
{
sub.f16x2 r742, r485, r486;
}
{
mul.f16x2 r745, r742, r480;
}
{
sub.f16x2 r748, r491, r492;
}
{
mul.f16x2 r751, r748, r483;
}
{
add.f16x2 r754, r745, r751;
}
{
add.f16x2 %5, r739, r754;
}
{
add.f16x2 r760, r497, r498;
}
{
mul.f16x2 r763, r760, r478;
}
{
add.f16x2 r766, r500, r763;
}
{
add.f16x2 r769, r503, r504;
}
{
mul.f16x2 r772, r769, r482;
}
{
add.f16x2 r775, r766, r772;
}
{
sub.f16x2 r778, r485, r486;
}
{
mul.f16x2 r781, r778, r480;
}
{
sub.f16x2 r784, r491, r492;
}
{
mul.f16x2 r787, r784, r483;
}
{
add.f16x2 r790, r781, r787;
}
{
sub.f16x2 %7, r775, r790;
}
})"
     : "=r"(__HALF2_TO_UI(rmem[0].x)), "=r"(__HALF2_TO_UI(rmem[0].y)), "=r"(__HALF2_TO_UI(rmem[1].x)), "=r"(__HALF2_TO_UI(rmem[1].y)), "=r"(__HALF2_TO_UI(rmem[2].x)), "=r"(__HALF2_TO_UI(rmem[2].y)), "=r"(__HALF2_TO_UI(rmem[3].x)), "=r"(__HALF2_TO_UI(rmem[3].y)), "=r"(__HALF2_TO_UI(rmem[4].x)), "=r"(__HALF2_TO_UI(rmem[4].y)): "r"(smem), "r"(__HALF2_TO_UI(rmem[0].x)), "r"(__HALF2_TO_UI(rmem[0].y)), "r"(__HALF2_TO_UI(rmem[1].x)), "r"(__HALF2_TO_UI(rmem[1].y)), "r"(__HALF2_TO_UI(rmem[2].x)), "r"(__HALF2_TO_UI(rmem[2].y)), "r"(__HALF2_TO_UI(rmem[3].x)), "r"(__HALF2_TO_UI(rmem[3].y)), "r"(__HALF2_TO_UI(rmem[4].x)), "r"(__HALF2_TO_UI(rmem[4].y)));
};


#endif
